2011年2月24日 星期四

透過 Google Maps 顯示 GPS 軌跡 (GPX)

gpx


丟一些關鍵字問問 Google ,發現一些討論文都在講透過別的網站作提供 GPS 軌跡服務,還有透過一些 Google Docs 轉換等等,後來看到有人把 KMZ 格式丟給 Google Maps 就能呈現,心一想,該不會他也懂 GPX 格式?(答:略懂、略懂)於是就丟給 Google Maps 測試,發現真的略懂!所以,也省得我用 Python 把 GPX 轉成 KMZ 囉!


2011年2月23日 星期三

免費申請 edu.tw 信箱

台灣有些服務需要使用 edu.tw 的信箱,例如 BBS 認證等,今天突然想起亞卓市,這個大概跟 kkcity 差不多年紀的東西?我記得 10 年前剛開始紅的 BBS 跟架網站服務,其中 kkcity 就提供 bbs 的環境,而亞卓市算是個人網站的服務,當然,還有非常多家網站空間的服務啦,只是剛好讓我想把這兩個年代擺在一起。


只要去申請亞卓市 http://www.educities.edu.tw 的會員,就可以免費得到一個 educities.edu.tw 結尾的信箱啦!如此一來,有一些驗證服務只吃 edu 的,就可以拿來用囉!例如當紅的 dropbox ,邀請 edu.tw 的信箱可以獲得 500MB 的空間容量 XD


2011年2月22日 星期二

在 iPhone 3G, iOS 4.2.1, JB 安裝 libgcc 和 iphone 2.0 Toolchain

沒想到 JB 後,從 Cydia 更新到最新時,對於手上這台 iPhone 3G 來說,有些軟體不會顯示出來或無法安裝,之前還被強者主管說怎可能沒有 XD 花點時間仔細看看,有一些好用的工具都需要 libgcc ,但是預設沒有 libgcc 可以安裝,查看一些資訊可能是因為 iOS 版本不同會產生一些問題,因此軟體清單被過濾掉了吧?!總之,就是要花點力氣弄一下,我的目標是安裝 iphone 2.0 Toolchain ,更仔細來說是使用 otool 這種東西。


解法,就在 Cydia 作者網站: http://apt.saurik.com/debs/,上頭有 libgcc_4.2-20080410-1-6_iphoneos-arm.deb,只要透過 wget 抓到 iPhone 上面安裝就行了



  1. 透過 Cydia 安裝 OpenSSH, 別忘了登入後要改一下 root 密碼,以免被盜用

  2. 透過 Cydia 安裝 wget

  3. 手動安裝 libgcc

    • # cd /tmp

    • # wget http://apt.saurik.com/debs/libgcc_4.2-20080410-1-6_iphoneos-arm.deb

    • # dpkg -i libgcc_4.2-20080410-1-6_iphoneos-arm.deb




如此一來就可以透過 Cydia 安裝 iPhone 2.0 Toolchain 囉!


提一下額外的,其實我是要用 otool 這個工具,此工具可以用來查看軟體到底用了哪些 framework 囉,藉以研究實作上的方向,例如以 iPhoneApp 這套軟體來看,可以先從 /User/Applications 裡頭看到一些序號目錄,想辦法找到 ooxx 這套軟體,並切換進去:


# cd /User/Applications/xxxxxxxxxxxxxxxxxxxxxx
# ls 
Documents  Librarys   iPhoneApp.app  iTunesArtwork  iTunesMetadata.plist tmp
# cd iPhoneApp.app
# ls -la iPhoneApp
# otool -L iPhoneApp
iPhoneApp:
        /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (compatibility version 64.0.0, current version 359.16.0)
        /System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 678.60.0)
        /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
        /System/Library/Frameworks/QuartzCore.framework/QuartzCore (compatibility version 1.2.0, current version 1.6.0)
        /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (compatibility version 1.0.0, current version 289.0.0)
        /System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 1100.0.0)
        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.1.0)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
        /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 478.61.0)


可惜的,超強主管已離職了,在這之前我也被分配到作其他案子,也來不及去驗證某個程式是不是用某個方向實做的。當初我是以測資方向去驗證,例如用刪減法處理,餵特定資料給程式,看其結果來猜,馬上被主管唸了,說要更謹慎處理,才有上述使用 otool 的足跡啊,只不過上述問題用 otool 也還不能解掉。


另外,我也在 Ubuntu 把 ooxx 的 binary 檔進行反組譯,是啦,可以看到組語,但我更該珍惜時間 :P 所以沒有衝下去人腦分析,也順便記一下指令:


$ arm-elf-objcopy -I binary -O elf32-littlearm iPhoneApp out.elf && arm-elf-objdump -marm9 -D out.elf


iPhone/iPod 離線地圖,使用 xGPS 和 xGPS Manager


來源:xGPS官網 http://xgps.xwaves.net


去年老早就看到離線地圖的部分,但一直遲遲沒有使用 XD 現在終於來摸一下,在此在 iOS 設備上使用 xGPS 軟體,此軟體需要 JB 後才能安裝,我記得 App Store 上也有一些 Offline Map,有些不用錢,但往往要使用地圖或上傳地圖到軟體裡就要收費了!而 xGPS 是免費軟體,算是一個框架讓你擺離線地圖。


xGPS 官方網站:http://xgps.xwaves.net,上頭有 xGPS Manager 軟體,用來下載地圖用的,因此是使用 Java 寫的,所以算是跨平台,於是就在 Virtualbox 裡面跑了一下:


挑選要下載的地圖範圍:


xgps_manager_01


勾選要幾個 level ,在此僅用預設幾項:


xgps_manager_02


估算下載的地圖大小,此例是127MB:


xgps_manager_03


開始下載地圖:


xgps_manager_04


下載完返回畫面,此檔約 100MB,接著就是傳到 iPhone 上面,該軟體上頭的介面都是透過 wifi 來進行傳輸,也可以自行用 sftp 傳輸,而下載的地圖擺在 C:\Documents and Settings\user\My Documents\xGPS Manage\xGPS_map.db,把它擺進 iPhone 裡的 /var/mobile/Library 中即可,最好上傳到 iPhone 前先下載好 xGPS 以及執行一下再離開,如此一來就會發現 iPhone 裡 /var/mobile/Library 已有 xGPS_map.db,再把它移除改換成下載好的地圖:


xgps_manager_05


如此一來,沒有 3G 網路或 wifi 時,也可以看定位地圖,記得要去設定 GPS 為 iPhone 3G 模式,只是要做路線規畫時,這時還是需要網路的。這套軟體我猜 Android 上頭應該也有類似的吧!而網路上有人分享全台 1~17 的地圖,約 1.4 GB 大小。


除了這種很貼心的軟體外,最近看到越多越便利的軟體被開發出來,手機軟體市場慢慢飽和,但換個角度來說,會有越來越便利的程式出現,也不用自己寫,也是挺不錯的!未來應該會買隻 Android 手機吧!至少開發比較便利 :D


iPhone 3G, iOS 4.2.1, Jailbreak, redsn0w, VirtualBox, Windows XP @ Ubuntu 10.04

iphone status list


之前一直想透過 VirtualBox 進行 jailbreak,不過都卡在 USB 裝置的問題,也就是 iPhone 3G DFU Mode 無法在 Virtualbox 內使用。今天終於狠下心花點時間找一下,終於成功了。此篇測試目標是 iPhone 3G + iOS 4.2.1 使用 redsn0w 並在 VirtualBox 進行 JB,其他環境可能會有問題(如對象改成 iPod Touch 4)!另外,最新的 JB 方式是使用綠毒 GreenPois0n,可以完美 JB 新出的 iOS 設備,請避開使用 VirtualBox 進行 JB 並且請找其他文章參考


環境:



VirtualBox 卡關問題:


為何在 Virtualbox 裡的 Windows XP 無法啟用 USB 連結 iPhone DFU 模式(呈現灰色無法選取),主因是權限關係,請用 root 權限跑 Virtualbox 即可,在要留意的,使用 sudo Virtualbox 後,是透過 root 權限執行,只是必須重新新增 VM 等過程,有試著使用 sudo -u user 的方式執行,其結果還是不行,倒是在 sudo Virtualbox 模式下,掛載之前已建好的 VM 是沒問題的。


除了將 iPhone 弄成 DFU 模式會碰到這問題外,其實透過 iTunes 將 iPhone 裝置進行回復,等到要啟動 iPhone 設置時,也會碰到同樣的問題。


猜測 VirtualBox 這樣的設定是避免使用者不小心接到一些特定使用的 USB 裝置,例如不小心綁住了滑鼠等,而不小心綁住可以透過拔掉重插 USB 裝置來改善。


@ 2011/03/30:參考 gslin 文章 - Ubuntu 上跑 VirtualBox 連接 USB 裝置…,這的確是權限問題,但僅需將使用的帳號也加到 vboxusers 的群組裡,重開機後就可以解決。


$ sudo vim /etc/group
vboxusers:x:123:user


關於 jailbreak 前提:


關於 unlock 部份,iPhone 3G 現階段解鎖方式是透過把數據機韌體(Modem Firmware)升成 iPad 3.2.2 的版本,將產生 GPS 功能失效的問題,除此之外將導致未來無法透過 iTunes 進行更新。因此,若有鎖版的 iPhone 請自行評估,不要冒然往前衝 XD


流程 1 - 使用 root 執行 VirtualBox:


在 Ubuntu 10.04 的機器上安裝 VirtualBox 4.0.4 r70112 以及 VirtualBox 4.0.4 Oracle VM VirtualBox Extension Pack 後,還要安裝一個 Windows XP with SP3 的環境


以 root 權限執行:


$ sudo VirtualBox 


流程 2 - 接下來的動作都在 Windows XP :



  1. 從 DevTeam 官網上下載 Windows 環境的 redsn0w 軟體,在此使用 redsn0w_win_0.9.6rc8

  2. 確認 iPhone 3G 是 iOS 4.2.1 版本,若不是可透過 iTunes 更新。取得 iPhone1,2_4.2.1_8C148_Restore.ipsw 檔案

  3. 使用 redsn0w_win_0.9.6rc8 ,執行裡頭的 redsn0w.exe 檔案並依照其流程進行


初次執行,會要求你驗證 IPSW 檔案,此例就是:iPhone1,2_4.2.1_8C148_Restore.ipsw


01


驗證過程:


02-1


驗證完訊息:


02


挑選 jailbreak 項目,在此僅用預設項目,也是自己開發會玩得東西,其他像 unlock 等東西不選取:


03


接著要將 iPhone 弄成 DFU 模式:


04


簡單的教學,如果已經是 DFU 模式,則會跳過此步:


05


接下來是才是重頭戲,由於過程很多且快速,在此僅截圖幾張,記住有個關鍵的技巧,當畫面卡在 wait for reboot 或一直沒反應時,可以透過 VirtualBox 右下角的 USB 設備,將 Apple Computer Inc. USB DFU Device 進行 unmount 或 mount 動作,即可解決:


20


21


22


23


24


25


整個流程會看到 iPhone 3G 的畫面有變化,也進行開機、安裝東西,甚至出現一隻鳳梨人,沒多久就重新開機了,最後就可以看到 Cydia 在畫面囉!