前面講了一些OS的工具篇乳讥,這里再詳細講一些iOS 上的工具人乓。
(基于越獄系統(tǒng)10.0.2)
預(yù)熱姿勢:
1. 查看進程
ps -e 所有進程 (ps -e | grep xxx 具體的某個進程)
Cycript
1. 啟動:
cycript 出現(xiàn)"cy#"提示符
2. 注入指定程序:
cycript -p xxx (進程代號社证,或者進程名稱)
3. 退出:
control+D
對象相關(guān):
1. 獲取某個對象
#對象地址 如:([#0x14422 show])
2. 獲取對象的地址:
choose(對象名稱) 如:(choose(QQMultiVoiceNoticeBar) choose 一個類
獲取當(dāng)前進程文件路徑:
1. [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
dumpdecrypted
工具制作:
- 源碼地址:https://github.com/stefanesser/dumpdecrypted
- 修改Makefile文件:
1. GCC_BIN=`xcrun --sdk iphoneos --find gcc` 改成具體的gcc路徑:
GCC_BIN=/Applications/Xcode.app/Contents/Developer/usr/bin/gcc
2. SDK=`xcrun --sdk iphoneos --show-sdk-path` 改成具體的SDK路徑:
SDK=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
3. 改完之后警医,cd到改文件夾路徑下油啤,執(zhí)行make命令
生成 dumpdecrypted.dylib
4. 給工具簽名打包:
列出可用的證書:
security find-identity -v -p codesigning
為dumpecrypted.dylib簽名:
codesign --force --verify --verbose --sign "iPhone Developer:xxx" dumpdecrypted.dylib
工具使用:
1. 需要的文件路徑:
如:需要破殼的Mach-O文件路徑
/var/containers/Bundle/Application/A361A25C-A687-4615-A794-8A7A2D34C257/QQ.app/QQ
破殼工具dumpdecrypted.dylib 路徑(該App的沙盒里面就可以)
/var/mobile/Containers/Data/Application/A149CC3B-106B-46AE-B8BC-D9138A23CA10/Documents/LJFile/dumpdecrypted.dylib
2. 破殼命令:
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib路徑 需要破殼的文件路徑
如:DYLD_INSERT_LIBRARIES=/var/mobile/Containers/Data/Application/A149CC3B-106B-46AE-B8BC-D9138A23CA10/Documents/LJFile/dumpdecrypted.dylib /var/containers/Bundle/Application/A361A25C-A687-4615-A794-8A7A2D34C257/QQ.app/QQ
當(dāng)然典徘,你再那個路徑下執(zhí)行這個命令,就會在那個路徑下 生成一個xxx.decrypted 的文件益咬,
如下圖的QQ.decrypted 逮诲,路徑就在 ~/ 下面
最后吧這個QQ.decrypted拷到電腦上,用class-dump解析出頭文件就可以了:
(一萬多個文件...)