應(yīng)用砸殼:一般在客戶端的應(yīng)用為了防止別人反編譯會(huì)對(duì)可執(zhí)行文件進(jìn)行加密保護(hù)(加殼),我們的砸殼就是解密的過程
靜態(tài)砸殼
知道了應(yīng)用的加密算法和邏輯基矮。在不需要運(yùn)行應(yīng)用的情況下,直接使用工具進(jìn)行解密冠场。這種方案難度很大家浇,成本高。加密算法一旦改變碴裙,解密工具就失效钢悲。
動(dòng)態(tài)砸殼
在應(yīng)用啟動(dòng)之后,從內(nèi)存中找到應(yīng)用的位置舔株,導(dǎo)出內(nèi)存中的數(shù)據(jù)莺琳。因?yàn)閼?yīng)用能夠運(yùn)行就必然被CPU讀取。二CPU也只能讀取解密之后的可執(zhí)行文件载慈。所以導(dǎo)出內(nèi)存中的數(shù)據(jù)就是解密之后的數(shù)據(jù)惭等。
應(yīng)用運(yùn)行原理
加密應(yīng)用從磁盤載入內(nèi)存的過程中,有內(nèi)核調(diào)用解密程序進(jìn)行解密办铡。
解密之后的可執(zhí)行文件由DYLD載入內(nèi)存辞做。
Clutch(命令行工具)
Clutch -i 列出可砸應(yīng)用
Clutch -d 應(yīng)用編號(hào)、BundleID
導(dǎo)出的是ipa包寡具!
dumpdcrypted(.dylib庫)
通過 DYLD_INSERT_LIBRARIES環(huán)境變量秤茅,插入動(dòng)態(tài)庫,載入某個(gè)應(yīng)用執(zhí)行動(dòng)態(tài)庫代碼進(jìn)行砸殼童叠。
導(dǎo)出的 MachO
frida-ios-dump(利用frida加載腳本砸殼工具)
安裝frida框喳。Mac 和 iPhone。
下載frida-ios-dump 腳本工具
執(zhí)行dump.py腳本 參數(shù)是應(yīng)用名稱 : 導(dǎo)出的是ipa包
Cycript
越獄手機(jī)安裝Cycript插件,依賴插件 adv-cmds
依附程序
cycript -p 進(jìn)程ID/名稱
cy文件路徑
/usr/lib/cycript0.9 目錄