MachO 恢复符号表

工具: restore-symbol

1. 生成可执行程序

  • 下载源码编译

     git clone --recursive https://github.com/tobefuturer/restore-symbol.git
     cd restore-symbol && make
     ./restore-symbol
    
  • 恢复符号表

    ./restore-symbol ./xxx -o ./xxx_symbol
    
  • 替换 MachO

2. 恢复 block

利用 ida 执行 block 提取脚本, 生成恢复 block 的 block.json 文件, 然后将 block.json 恢复到 MachO 中.

  • ida 提取 block
    用 ida 打开目标 MachO 文件, ida file -> script file 选择下载好的脚本, 执行脚本, 等待生成的 .json 文件.

  • 恢复 block

    ./restore-symbol xxx -o xxx -j block_symbol.json
    

接下来可以用恢复符号表的 MachO 文件替换原来的, 然后再运行起来, 一边, 一边查看OC 方法调用栈!

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