iOS 逆向工具 - restore-symbol

iOS应用在上线前都会裁去符号表,以避免被逆向分析,restore-symbol 便是用于恢复符号表的利器。
符号表原理:https://blog.csdn.net/sharpyl/article/details/88610991
git:https://github.com/tobefuturer/restore-symbol

1.下载源码编译
git clone --recursive https://github.com/tobefuturer/restore-symbol.git
cd restore-symbol && make
./restore-symbol

2.恢复OC的符号表
./restore-symbol ./origin_XXX -o ./XXX_with_symbol
origin_XXX 为Clutch砸壳后,没有符号表的 Mach-O 文件
-o 后面跟输出文件位置

3.把 Mach-O 文件重签名打包
打包运行,可以看到OC函数这部分的符号已经恢复了,但是block的符号没能正确显示。

4.提取block符号表
a. IDA提供了Python的SDK,下载脚本ida_search_block.py(https://github.com/tobefuturer/restore-symbol/blob/master/search_oc_block/ida_search_block.py);
b. 用IDA打开要分析APP的 Mach-O 文件,等待分析完成;
c. 菜单栏 File -> Script file... 选择ida_search_block.py;
d. 运行完成后,block符号表提取完成,生成block_symbol.json;

5. 再次恢复
./restore-symbol ./origin_AlipayWallet -o ./AlipayWallet_with_symbol -j block_symbol.json
-j 后面得到的json符号表

6. 签名打包
得到一份具有OC函数符号表和block符号表的可执行文件

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值