MonkeyDev 的 RESTORE_SYMBOL 失效

在 Build Setting 中把 MONKEYDEV_RESTORE_SYMBOL 设置为了 YES,但是程序在运行起来时发现不能正确还原符号。
表现是:

  1. 堆栈信息中大量的 ___lldb_unnamed_symbol379352$$ 但是 $x2 可以拿到方法名。

我试过了:

  1. 重新砸壳 App
  2. 更新到 MonkeyDev 为最新版
  3. /opt/MonkeyDev/bin中的 class-dump 二进制文件换成了最新版。
  4. Clean 整个项目,且删除了 Build 文件。
    以上都不能解决问题。

应该如何下手解决这个问题?

项目有点大,需要的话再上传上来。

1 个赞

Yet another ByteDance question.

  1. 只传核心二进制就行了
  2. 我不确定md具体是怎么处理这块的,如果实现在主程序之外的话有可能md并没有对相应的动态库跑restore,建议看一下实现在哪个二进制里
  3. 请回报2的测试情况

make install
==> Installing…
请问为什么一直这个状态呢?

旧版本应是基于 (GitHub - tobefuturer/restore-symbol: A reverse engineering tool to restore stripped symbol table for iOS app.)[GitHub - tobefuturer/restore-symbol: A reverse engineering tool to restore stripped symbol table for iOS app.],但可能新版庆总自行修改编译了。

解决问题了:
我想应该是 MonkeyDev 的 restore symbol 模块有问题。
我使用最新的 restore symbol(同时更新了内置的 class-dump)后,就能正确还原了。

1 个赞

使用monkeyDev包装Snapchat的包,登录时网络请求失败,有遇到的吗?有进一步处理的方法吗?

全局搜索在哪里换哪里

请问一下,您说的这个更新,restore symbol是指的monkeydev的这个更新嘛? ```
sudo /bin/sh -c “$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-update)”

不是,我指的是 GitHub - tobefuturer/restore-symbol: A reverse engineering tool to restore stripped symbol table for iOS app.

OC swift混编工程的符号修复,貌似工具不行了吧,我这边报了错误Assertion failure in -[CDObjectiveC2Processor loadClassAtAddress:], CDObjectiveC2Processor.m:258