丟一些關鍵字問問 Google ,發現一些討論文都在講透過別的網站作提供 GPS 軌跡服務,還有透過一些 Google Docs 轉換等等,後來看到有人把 KMZ 格式丟給 Google Maps 就能呈現,心一想,該不會他也懂 GPX 格式?(答:略懂、略懂)於是就丟給 Google Maps 測試,發現真的略懂!所以,也省得我用 Python 把 GPX 轉成 KMZ 囉!
2011年2月24日 星期四
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 上面安裝就行了
- 透過 Cydia 安裝 OpenSSH, 別忘了登入後要改一下 root 密碼,以免被盜用
- 透過 Cydia 安裝 wget
- 手動安裝 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 裡面跑了一下:
挑選要下載的地圖範圍:
勾選要幾個 level ,在此僅用預設幾項:
估算下載的地圖大小,此例是127MB:
開始下載地圖:
下載完返回畫面,此檔約 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,再把它移除改換成下載好的地圖:
如此一來,沒有 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
之前一直想透過 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 並且請找其他文章參考。
環境:
- Host OS Ubuntu 10.04 64-bit
- Virtualbox 4.0.4 r70112
- VirtualBox 4.0.4 Oracle VM VirtualBox Extension Pack
- http://www.virtualbox.org/wiki/Downloads
- Guest OS Windows XP with SP3
- Jailbreak:redsn0w_win_0.9.6rc8
- http://blog.iphone-dev.org/ 用 Windows 關鍵字可搜尋到
- iPhone 3G IPSW:iPhone1,2_4.2.1_8C148_Restore.ipsw
- 如果一開始是透過 iTunes 升級或還原成 iOS 4.2.1 的話,可以在 C:\Documents and Settings\user\Application Data\Apple Computer\iTunes\iPhone Software Updates 找找看,可以省去再下載一次
- Jailbreak:redsn0w_win_0.9.6rc8
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 :
- 從 DevTeam 官網上下載 Windows 環境的 redsn0w 軟體,在此使用 redsn0w_win_0.9.6rc8
- 確認 iPhone 3G 是 iOS 4.2.1 版本,若不是可透過 iTunes 更新。取得 iPhone1,2_4.2.1_8C148_Restore.ipsw 檔案
- 使用 redsn0w_win_0.9.6rc8 ,執行裡頭的 redsn0w.exe 檔案並依照其流程進行
初次執行,會要求你驗證 IPSW 檔案,此例就是:iPhone1,2_4.2.1_8C148_Restore.ipsw
驗證過程:
驗證完訊息:
挑選 jailbreak 項目,在此僅用預設項目,也是自己開發會玩得東西,其他像 unlock 等東西不選取:
接著要將 iPhone 弄成 DFU 模式:
簡單的教學,如果已經是 DFU 模式,則會跳過此步:
接下來是才是重頭戲,由於過程很多且快速,在此僅截圖幾張,記住有個關鍵的技巧,當畫面卡在 wait for reboot 或一直沒反應時,可以透過 VirtualBox 右下角的 USB 設備,將 Apple Computer Inc. USB DFU Device 進行 unmount 或 mount 動作,即可解決:
整個流程會看到 iPhone 3G 的畫面有變化,也進行開機、安裝東西,甚至出現一隻鳳梨人,沒多久就重新開機了,最後就可以看到 Cydia 在畫面囉!