修改iphone微博的位置(iOS6.1.2)
設備與環境:
- iOS6.1.2(須要越獄,安裝openSSH, dbg,nano)
- sina微博客戶端,我這裏使用的是3.3.6
- iTouch4, 8G
- MacOS 10.7.4(須要安裝Hopper Disassembler, XCode with command tools)
步驟
越獄,安裝openSSH, 安裝gdb ,cycript,adv-cmds
在cydia添加源cydia.radare.org, 更新gdb到1708
下載dumpdecrypted https://github.com/stefanesser/dumpdecrypted 而後進入程序目錄
修改根據你的XCode安裝環境修改Makefile,修改其中BIN, GCC, SDK參數

編譯dumpdecrypted,而後scp dumpdecrypted 到 root@iTouch_IP_Address:/var/root/
遠程鏈接到iTouch設備 ssh root@iTouch_IP_Address
檢查dumpdecrypted是否已經拷貝到root目錄
運行dumpdecrypted,得到微博的解密版本

DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile Applications/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Weibo.app/Weibo
將解密後的Weibo.decrypted拷貝的MacOS系統
scp Weibo.decrypted XXXX@MacOS_IP_Address:/Desktop/crack/
使用Hopper Disassembler靜態分析
回到iTouch的ssh會話,使用nano .gdbinit建立一個gdb的啓動配置
define bbvm
set $__bbvm=$arg0-0x1000
end
define bb
b *($__bbvm+$arg0)
end
點擊運行Weibo,回到ssh:ps ax|grep Weibo 得到pid
gdb -p pid 開始調試
運行 i mach-region 0 // 查看起始地址
運行 bbvm 起始地址 // 設置地址基值(0xc5000)
回到Hopper Disassembler,在Label中查找WBSpotEngine,找到 WBSpotEngine:initWithLocation:函數, 得到函數地址AA(0x18ad50)
回到ssh 設置斷點並繼續
點擊寫微博,會被中斷,回到ssh,輸入
set $r2 = [[CLLocation alloc]initWithLatitude:25.743854 longitude:123.470707]
c
![](http://static.javashuo.com/static/loading.gif)
微博的位置已經修改了,發一條新位置的微博 得到想要的座標 http://ditu.google.cn