恢复符号表

恢复符号表

每次lldb时通过计算器来计算符号的偏移前的地址,然后根据IDA或者Hopper来找方法名是一件很麻烦的事情;所以我们通过恢复符号表来提升我们的调试效率。

恢复函数的符号表流程
  • 克隆第三方库:git clone --recursive https://github.com/tobefuturer/restore-symbol.git
  • 到库目录里: cd restore-symbol
  • 编译成功后会在当前目录生成一个 restore-symbol 可执行文件 : make
  • 在macOS终端运行(设置为全局命令): sudo cp ./restore-symbol /usr/local/bin
  • cd 到砸壳去签名后文件的目录
  • lipo -info WeChat查看是否是fat的文件,如果是fat的文件,那么看 7
  • fat文件瘦身:lipo WeChat-thin arm64 -output WeChatArm64
  • 获取符号表:restore-symbol WeChatArm64-o WeChatSymbol
  • 文件 WeChatSymbol 是我们恢复符号表的文件,如果是瘦身回来的直接使用瘦身的,不用合并
  • WeChat.app 是微信的原包文件,替换掉原先的MatchO文件:cp WeChatSymbol WeChat.app/WeChat

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