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