說(shuō)明
- 在越獄的iOS設(shè)備上回论,解析UCWeb應(yīng)用的頭文件
直接將從蘋果商店上下載的ipa導(dǎo)出頭文件
class-dump -H UCWEB.app -o UCWEB
由于該ipa文件加了殼审编,不能解析出頭文件。
砸殼
使用dumpdecrypted工具
下載地址:https://codeload.github.com/stefanesser/dumpdecrypted/zip/master
下載后解壓辛润,然后cd到該目錄下蹬铺,執(zhí)行make命令進(jìn)行編譯
`xcrun --sdk iphoneos --find gcc` -Os -Wimplicit -isysroot `xcrun --sdk iphoneos --show-sdk-path` -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/Frameworks -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/PrivateFrameworks -arch armv7 -arch armv7s -arch arm64 -c -o dumpdecrypted.o dumpdecrypted.c
`xcrun --sdk iphoneos --find gcc` -Os -Wimplicit -isysroot `xcrun --sdk iphoneos --show-sdk-path` -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/Frameworks -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/PrivateFrameworks -arch armv7 -arch armv7s -arch arm64 -dynamiclib -o dumpdecrypted.dylib dumpdecrypted.o
顯示如上內(nèi)容,編譯成功匈庭。
make命令執(zhí)行完畢后夫凸,會(huì)在當(dāng)前目錄下生成一個(gè)dumpdecrypted.dylib文件,這就是我們等下砸殼所要用到的榔頭阱持。此文件生成一次即可夭拌,以后可以重復(fù)使用,下次砸殼時(shí)無(wú)須再重新編譯。
上傳文件
ssh連接到手機(jī)(我的手機(jī)ip地址是192.168.1.181)
ssh root@192.168.1.181
執(zhí)行命令鸽扁,找到所有進(jìn)程
ps -e | grep var
查找到uc的路徑
/var/mobile/Containers/Bundle/Application/78241EAF-781C-475C-BA53-84EF7C4FE23D/UCWEB.app/UCWEB
進(jìn)入/var/mobile/Containers/Bundle/Application/78241EAF-781C-475C-BA53-84EF7C4FE23D/UCWEB.app路徑下
利用cycript工具勾住UCWEN應(yīng)用
cycript -p UCWEB
執(zhí)行代碼
[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
獲取當(dāng)前應(yīng)有的Document目錄蒜绽,然后進(jìn)入到當(dāng)前Document目錄下。
將我們剛剛編譯好砸殼工具dumpdecrypted.dylib上傳到該文件夾下桶现。
scp dumpdecrypted.dylib root@192.168.1.181:/var/mobile/Containers/Data/Application/72D29CE0-C288-4BEB-B319-41595DA3F64A/Documents/dumpdecrypted.dylib
提示輸入密碼躲雅,輸入手機(jī)root密碼,然后提示上傳進(jìn)度骡和。
dumpdecrypted.dylib 100% 193KB 192.9KB/s 00:00
開(kāi)始砸殼
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/78241EAF-781C-475C-BA53-84EF7C4FE23D/UCWEB.app/UCWEB
mach-o decryption dumper
會(huì)生成app砸殼后的文件xx.decrypted. 這里就是 UCWEB.decrypted
文件導(dǎo)出到電腦
root# scp UCWEB.decrypted root@192.168.1.105:/private/tmp
Password:
UCWEB.decrypted 100% 193KB 192.9KB/s 00:00
導(dǎo)出頭文件
使用class-dump工具導(dǎo)出頭文件
class-dump -H UCWEB.decrypted -o output/
最好放一張解析成功的圖片相赁,可以看到右6502個(gè)文件(包含第三方sdk的類)。分析應(yīng)用的頭文件基本可以了解應(yīng)用如何搭建慰于。