iOS_逆向_dumpdecrypted

一丶介紹

砸殼工具

“從AppStore下載的App(以下簡稱StoreApp)是被蘋果加密過的(從其他渠道下載的一般沒有加密),可執行文件被套上了一層保護殼,而class-dump無法作用于加密過的App。在這種情況下,想要獲取頭文件,需要先解密App的可執行文件,俗稱“砸殼”?!?/p>

二丶使用:

2.1準備階段:

2.1.1 dumpdecrypted下載:
$git clone git://github.com/stefanesser/dumpdecrypted/
2.1.2用cydia安裝adv-cmds

后面會用到,主要是可以用ps命令

2.1.3用cydia安裝Cycript

Cydia自帶源Cydia/Telesphoreo里面找Cycript
后面會用到;

2.1.4 用Cydia安裝OpenSSH

后面用到

2.1.5 iPhone和PC在同一個Wifi下
2.1.6 iFunBox

http://www.lxweimin.com/p/e9d0630ef3c0

2.2 使用

2.2.1編譯

在dumpdecrypted文件夾中,使用

$make

文件夾內會出現dumpdecrypted.dylib 的動態庫;

2.2.2 把它放到需要砸殼的document目錄下
“StoreApp對沙盒以外的絕大多數目錄沒有寫權限。
dumpdecrypted.dylib要寫一個decrypted文件,
但它是運行在StoreApp中的,與StoreApp的權限相同,
那么它的寫操作就必須發生在StoreApp擁有寫權限的路徑下才能成功。
StoreApp一定是能寫入其Documents目錄的,
因此在Documents目錄下使用dumpdecrypted.dylib時,
保證它能在當前目錄下寫一個decrypted文件,
這就是把dumpdecrypted.dylib拷貝到Documents目錄下操作的原因。”

摘錄來自: 沙梓社 吳航 著. “iOS應用逆向工程(第2版)"

獲取你目標app的路徑方法:
利用sycript查找App路徑;先把所有App關閉;只運行目標App

假如目標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個路徑:

#可執行文件:
/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/

執行: $DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib + 空格+執行文件path

$DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/CEAF4585-2B65-426F-944E-F616EB1F81DC/XXXX.app/XXXX

最終效果:

Paste_Image.png

三丶提取

在document里會多了個.decrypted文件;copy到pc上,就可以使用class-dump丶IDA等工具了;

Paste_Image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容