dumpdecrypted 砸殼:匯出標頭檔案
在iOS 逆向: dumpdecrypted 砸殼記 中已經給大家分享了對 ipa 檔案如何砸殼了, 接下來就可以匯出其標頭檔案了。
這裡需要用到class-dump
工具。如果你使用 class-dump, 出現如下錯誤:
Error: Cannot find offset for address 0xxxxxxxxx in stringAtAddress
報這種錯誤說明你即將 dump 的檔案是OC
和Swift
混編的專案,class-dump
這個工具對它們無能為力。
還好, 偉大的程式設計師們給我們解決了這個問題。
去獲取class-dump 改進版
原始碼, 然後使用Xcode
編譯即可.
編譯完成後生成的class-dump
就可以拿來使用了.
改變其可執行的許可權:
chmod +x class-dump ``` 檢視 decrypted 檔案的 arm 架構: ```sh class-dump --list portkey-prod.decrypted
顯示為:arm64
開始 dump:
mkdir portkey-header class-dump -H portkey-prod.decrypted -o portkey-header/
遇到問題
dumpdecrypted 砸殼出現了問題, 錯誤資訊如下:
dyld: could not load inserted library 'dumpdecrypted.dylib' because no suitable image found.Did find: dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'
解決方案, 重新簽名dumpdecrypted
後將其拷貝到Documents
目錄.
## 列出可簽名證書, 找到 mac 上面已經安裝的證書 security find-identity -v -p codesigning ## 為 dumpecrypted.dylib 簽名 codesign --force --verify --verbose --sign "iPhone Developer: xxx xxxx (xxxxxxxxxx)" dumpdecrypted.dylib
注意:iPhone Developer: xxx xxxx (xxxxxxxxxx)
為你自己本機安裝的開發者證書名稱.