在逆向项目时候, 很重要的一环是需要查看符号表, 通过查看符号表我们能找到想要的方法, 从而对其实现有效的hook, 然而很多第三方App的符号表显示的都是乱码, 这就会阻滞我们的脚步, 下面就讲述如何恢复符号表:
1. 下载restore-symbol : https://github.com/tobefuturer/restore-symbol
恢复符号表, 我们这里要借助第三方项目 restore-symbol
2. 生成 restore-symbol 项目 mach-o 文件
cd 到 restore-symbol 路径下, 通过下列命令生成mach-o :
make restore-symbol
3. 生成目标文件单一架构的 mach-o
将目标项目的mach-o文件拷贝至 restore-symbol 文件夹路径下, 使用下列命令:
lipo WeChat -thin arm64 -output WeChat_arm64
4. 恢复mach-o文件的符号表
通过命令:
./restore-symbol WeChat_arm64 -o WeiChat
5. 将target 的 app中的mach-o 替换掉
注意: 替换后的mach-o名称一定要和原app包内容中mach-o文件名一致
再次运行进入断点就可以看到符号表了
希望对大家有帮助......