一丶介紹
砸殼工具
“從AppStore下載的App(以下簡(jiǎn)稱StoreApp)是被蘋果加密過(guò)的(從其他渠道下載的一般沒有加密)缓溅,可執(zhí)行文件被套上了一層保護(hù)殼抡四,而class-dump無(wú)法作用于加密過(guò)的App瓣颅。在這種情況下微猖,想要獲取頭文件捅彻,需要先解密App的可執(zhí)行文件劲绪,俗稱“砸殼”燕少】ㄕ撸”
二丶使用:
2.1準(zhǔn)備階段:
2.1.1 dumpdecrypted下載:
$git clone git://github.com/stefanesser/dumpdecrypted/
2.1.2用cydia安裝adv-cmds
后面會(huì)用到,主要是可以用ps命令
2.1.3用cydia安裝Cycript
Cydia自帶源Cydia/Telesphoreo里面找Cycript
后面會(huì)用到;
2.1.4 用Cydia安裝OpenSSH
后面用到
2.1.5 iPhone和PC在同一個(gè)Wifi下
2.1.6 iFunBox
http://www.reibang.com/p/e9d0630ef3c0
2.2 使用
2.2.1編譯
在dumpdecrypted文件夾中,使用
$make
文件夾內(nèi)會(huì)出現(xiàn)dumpdecrypted.dylib 的動(dòng)態(tài)庫(kù);
2.2.2 把它放到需要砸殼的document目錄下
“StoreApp對(duì)沙盒以外的絕大多數(shù)目錄沒有寫權(quán)限。
dumpdecrypted.dylib要寫一個(gè)decrypted文件客们,
但它是運(yùn)行在StoreApp中的崇决,與StoreApp的權(quán)限相同,
那么它的寫操作就必須發(fā)生在StoreApp擁有寫權(quán)限的路徑下才能成功底挫。
StoreApp一定是能寫入其Documents目錄的恒傻,
因此在Documents目錄下使用dumpdecrypted.dylib時(shí),
保證它能在當(dāng)前目錄下寫一個(gè)decrypted文件建邓,
這就是把dumpdecrypted.dylib拷貝到Documents目錄下操作的原因盈厘。”
摘錄來(lái)自: 沙梓社 吳航 著. “iOS應(yīng)用逆向工程(第2版)"
獲取你目標(biāo)app的路徑方法:
利用sycript查找App路徑;先把所有App關(guān)閉;只運(yùn)行目標(biāo)App
假如目標(biāo)App:XXXX
$ssh root@192.168.3.90
$ps -e
xzbde-iPhone:~ root# cycript -p XXXX
cy# [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
最終要獲取2個(gè)路徑:
#可執(zhí)行文件:
/var/mobile/Containers/Bundle/Application/CEAF4585-2B65-426F-944E-F616EB1F81DC/XXXX.app/XXXX
#Document:
var/mobile/Containers/Data/Application/B058D33F-F133-4555-8212-E6D1AE42B7E7/Documents/
可以使用iFunBox把dumpdecrypted.dylib拷貝到Doucument里;
切換到Document里面
$cd /var/mobile/Containers/Data/Application/B058D33F-F133-4555-8212-E6D1AE42B7E7/Documents/
執(zhí)行: $DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib + 空格+執(zhí)行文件path
$DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/CEAF4585-2B65-426F-944E-F616EB1F81DC/XXXX.app/XXXX
最終效果:
Paste_Image.png
三丶提取
在document里會(huì)多了個(gè).decrypted文件;copy到pc上,就可以使用class-dump丶IDA等工具了;
Paste_Image.png