準備
1、下載及生成restore-symbol
-
如果按照文檔步驟生成沒成功塔粒,類似下面
image.png -
可以直接下載項目鸠窗,在xcode中編譯出restore-symbol
image.png -
配置到環(huán)境變量中驰唬,隨時隨地愛用就用
image.png
image.png
馬不停蹄開始操作
一绊起、恢復方法符號表
1、查看MachO文件支持的架構蝴簇,并瘦身成單一架構(restore-symbol一次只支持單一架構)
- 查看支持的架構杯活,使用命令
lipo -info MachO文件路徑
image.png
- 瘦身成單一架構,使用命令
lipo machO文件路徑 -thin arm64 -output 瘦身后的machO文件路徑
image.png
li
2熬词、開始恢復符號表
- 像我一樣配置了環(huán)境變量的話旁钧,直接在當前目錄使用命令
restore-symbol Runner_arm64 -o Runner -
沒有配置的話,進入restore-symbol所在文件夾互拾,使用命令
./restore-symbol Runner_arm64 -o Runner
image.png
3歪今、重新生成ipa
-
替換原來的machO文件,然后在Payload文件夾使用命令
zip –ry 輸出文件 輸入文件 -
結果如下(zip -ry newIPA.ipa Payload)
image.png
4颜矿、測試(使用MonkeyDev創(chuàng)建的項目)
image.png
二寄猩、恢復了Block的符號表
1、找到ida_search_block.py并復制或衡,在項目的search_oc_block文件夾里焦影。
image.png
2、打開IDA封断,執(zhí)行ida_search_block.py,生成block_symbol.json文件
image.png
image.png
3舶担、開始恢復符號表
-
使用命令
./restore-symbol Runner -o Runner_block -j block_symbol.json
image.png