iOS逆向--恢复Mach-O文件的符号表(symbol)

iOS逆向--恢复Mach-O文件的符号表(symbol)_第1张图片

在逆向项目时候, 很重要的一环是需要查看符号表, 通过查看符号表我们能找到想要的方法, 从而对其实现有效的hook, 然而很多第三方App的符号表显示的都是乱码, 这就会阻滞我们的脚步, 下面就讲述如何恢复符号表:

1. 下载restore-symbol : https://github.com/tobefuturer/restore-symbol

恢复符号表, 我们这里要借助第三方项目 restore-symbol

iOS逆向--恢复Mach-O文件的符号表(symbol)_第2张图片
Snip20180520_3.png

2. 生成 restore-symbol 项目 mach-o 文件

cd 到 restore-symbol 路径下, 通过下列命令生成mach-o :

make restore-symbol

iOS逆向--恢复Mach-O文件的符号表(symbol)_第3张图片
iOS逆向--恢复Mach-O文件的符号表(symbol)_第4张图片
Snip20180520_5.png

3. 生成目标文件单一架构的 mach-o

将目标项目的mach-o文件拷贝至 restore-symbol 文件夹路径下, 使用下列命令:

lipo WeChat -thin arm64 -output WeChat_arm64

iOS逆向--恢复Mach-O文件的符号表(symbol)_第5张图片
Snip20180520_6.png

4. 恢复mach-o文件的符号表

通过命令:

./restore-symbol WeChat_arm64 -o WeiChat

iOS逆向--恢复Mach-O文件的符号表(symbol)_第6张图片
Snip20180520_7.png

5. 将target 的 app中的mach-o 替换掉

iOS逆向--恢复Mach-O文件的符号表(symbol)_第7张图片

注意: 替换后的mach-o名称一定要和原app包内容中mach-o文件名一致

再次运行进入断点就可以看到符号表了

iOS逆向--恢复Mach-O文件的符号表(symbol)_第8张图片
Snip20180520_9.png

希望对大家有帮助......

你可能感兴趣的:(iOS逆向--恢复Mach-O文件的符号表(symbol))