如果你已閱讀了《 iOS 安全攻防》系列專欄之前的文章,一定已經(jīng)對靜態(tài)以及運(yùn)行時(shí)分析 App 有了一定的了解。
我們可以借助的分析工具很多,工具和工具之間一般沒有什么優(yōu)劣比較性,完全看個(gè)人習(xí)慣什么擅長什么。
多個(gè)工具多條路,那么本文將介紹追蹤分析利器 introspy 。
對應(yīng) iOS 系統(tǒng)版本,下載適用的 introspy 工具包:introspy下載地址傳送門
下載后,將其拷貝到設(shè)備中,并執(zhí)行安裝命令:
# dpkg -i com.isecpartners.introspy-v0.4-iOS_7.deb
重啟設(shè)備:
# killall SpringBoard
到設(shè)置中,就可以查看到 instrospy 的設(shè)置選項(xiàng)了:
http://wiki.jikexueyuan.com/project/ios-security-defense/images/instrospy1.png" alt="instrospy1" />
在 Introspy-Apps 中選擇要跟蹤的 app 名稱。 Instrospy-Settings 則提供一些常規(guī)跟蹤設(shè)置選項(xiàng),默認(rèn)是全部開啟。
然后啟動(dòng)想要跟蹤的應(yīng)用程序,就可以直接查看 log 獲取 Instrospy 為我們跟蹤捕獲的信息,這里以跟蹤支付寶 app 為例。
打開支付寶 App ,選擇添加銀行卡,隨意添加一個(gè)卡號,然后點(diǎn)擊下一步:
http://wiki.jikexueyuan.com/project/ios-security-defense/images/instrospy2.png" alt="instrospy2" />
支付寶 app 反饋添加失敗,該卡暫不支持,Instrospy 捕獲的信息也很清晰:
http://wiki.jikexueyuan.com/project/ios-security-defense/images/instrospy3.png" alt="instrospy3" />
追蹤信息被保存為一個(gè)數(shù)據(jù)庫introspy-com.alipay.iphoneclient.db
,存放在: ./private/var/mobile/Applications/4763A8A5-2E1D-4DC2-8376-6CB7A8B98728/Library/introspy-com.alipay.iphoneclient.db
也可以借助 Introspy-Analyzer 在本地將該數(shù)據(jù)庫解析成一個(gè)直觀的 report.html 查看 Introspy-Analyzer下載地址傳送門
將 introspy-com.alipay.iphoneclient.db
拷貝到本地,執(zhí)行:
python introspy.py -p ios --outdir Portal-introspy-html introspy-com.alipay.iphoneclient.db
就會生成一個(gè) Portal-introspy-html
文件夾,該目錄下有 report.html
,用瀏覽器打開:
open report.html
就可以清晰的查看追蹤信息了,主要分為 DataStorage、IPC、Misc、Network、Crypto 六大類信息。 舉個(gè)例子,選擇 Crypto 可以查看支付寶 app 采取了什么加密措施,如果你看過我之前的文章,一定會一眼就認(rèn)出來手勢密碼的:
http://wiki.jikexueyuan.com/project/ios-security-defense/images/instrospy4.png" alt="instrospy4" />