iOS逆向--恢复Mach-O文件的block符号表

很多时候我们需要还原block的高级代码, ida生成的伪代码分析的时候还是比较困难, 这时候我们就需要恢复block符号表, 从而提高我们开发效率

这里我们需要借助 ida_search_block.py 脚本 链接: https://pan.baidu.com/s/1aeo2YqH5rsklxTYXQn4Lhg 密码: 2x2w

下面开始:

1. 在 IDA 中运行 ida_search_block.py 脚本

  1. 打开IDA, 编译mach-o文件
iOS逆向--恢复Mach-O文件的block符号表_第1张图片
  1. 找到 ida_search_block.py 脚本 运行
iOS逆向--恢复Mach-O文件的block符号表_第2张图片

待脚本运行完成后, 我们在mach-o路径处就可以发现一个json文件

iOS逆向--恢复Mach-O文件的block符号表_第3张图片
Snip20180528_4.png

2. 将json文件拖入 restore-symbol 恢复符号表工具中

查看这里了解restore-symbol 恢复符号表: https://www.jianshu.com/p/67f7980ac84b

iOS逆向--恢复Mach-O文件的block符号表_第4张图片

使用命令:

./restore-symbol WeiChat -o WeChat_block -j block_symbol.json

生成恢复了block符号表的mach-o文件

iOS逆向--恢复Mach-O文件的block符号表_第5张图片
Snip20180528_7.png

注意: 如果你要适配多个架构就需要将mach-o拆分, 分别进行恢复, 再合并mach-o文件

3. 将TargetApp中的 .app 包 的mach-o替换

iOS逆向--恢复Mach-O文件的block符号表_第6张图片

删除原来的mach-o文件, 替换后的mach-O文件名一定要改回 原mach-o名

4. 用IDA 打开

iOS逆向--恢复Mach-O文件的block符号表_第7张图片
Snip20180528_9.png

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