iOS 符号表恢复

一、恢复方法符号表

1.获取已经砸壳后的app

恢复符号表需要可执行文件为单一架构, 需要使用如下命令
查看是否是fat的文件(切换到当前可执行文件对应下的目录):
lipo -info Aweme

image.png

如果是fat的文件,那么执行下方命令进行瘦身, 这里使用抖音为例, 得到arm64架构的可执行文件:
lipo Aweme -thin arm64 -output Aweme_arm64
这里就得到了可以进行恢复符号表的可执行文件了

2.使用工具恢复

想要恢复符号表,需要使用工具 restore-symbol
打开对应链接查看使用方法,有详细的命令教程,这里就不copy了

image.png

这里说下,因为我自己已经重签名过了,这里我就只执行了两步骤.
当执行当前命令时,会在你终端所打开的位置创建对应的项目,可以提前cd到想存放的位置,在执行命

符号恢复命令.png

./restore-symbol /pathto/origin_mach_o_file -o /pathto/mach_o_with_symbol
关于命令的解释
/pathto/origin_mach_o_file是在第一步得到的Aweme_arm64可执行文件的路径 /pathto/mach_o_with_symbol是执行符号恢复后保存的文件及存储路径

二、恢复block符号表

完成上面步骤只初步恢复了相关的方法,恢复block对应的需要额外操作
这里同样使用restore-symbol,命令参考文档
需要用到的python命令文件获取地址

在ida中执行 python文件命令方式 点击 「file -> Script file」然后根据路径选择所要执行的python文件即可

执行恢复命令.png

这里需要注意,如果终端被关掉 ,需要重新执行命令./restore-symbol

执行完成

这里就全部执行完了,得到可执行文件Aweme_block


最终可执行文件.png

参考文章:http://blog.imjun.net/posts/restore-symbol-of-iOS-app/

你可能感兴趣的:(iOS 符号表恢复)