前言
本人ios逆向小白,先模仿再创新。今天模仿的是杨君大佬的博客iOS符号表恢复&逆向支付宝。
1.博客读后感
符号表是MachO中的组成部分,大厂在上线前,都会裁去符号表,无符号的方法增加逆向的成本。
2.本人实践(逆向bilibili)
常规操作:抓包,脱壳,MonkeyDev重签。 未还原符号的MachO文件在MonkeyDev中下断点,查看调用堆栈信息如图:
还原后的MachO文件在MonkeyDev中下断点,查看调用堆栈信息如图:
3.如何还原
借助大佬的工具:restore-symbol
3.1.下载编译
git clone --recursive https://github.com/tobefuturer/restore-symbol.git
cd restore-symbol && make
./restore-symbol
3.2.还原符号
./restore-symbol ./bili-universal -o ./bili-universal-symbol
3.3.常见问题
Terminating app due to uncaught exception
'NSInternalInconsistencyException', reason: 'Invalid parameter not
satisfying: moduleName.length == length'
解决方案:这个错误主要是竞品中有swift代码造成的,解决方案就是找到对应的类,用最新的class-dump中的类去替换,文末有已经替换好的文件。
文章中附件私聊作者获取