如何对 R8 堆栈跟踪进行反混淆?

cop*_*lii 8 obfuscation android deobfuscation android-r8

我有一个应用程序,它崩溃了,就像每个好的应用程序应该的一样!不久前,Android 构建工具开始使用R8而不是Proguard。它有效并加快了我的构建速度,所以我不理会它。然后出现了一个异常堆栈跟踪,我必须对其进行反混淆。我使用了 proguard UI、retrace.bat脚本和命令行,但所谓的反混淆堆栈跟踪仍然看起来很模糊。

查看mapping.txt生成的结果,我在映射中看到了一堆我不记得以前见过的数字(行号?)。我怀疑这些是反混淆器首先失败的原因。

目前有什么方法可以对此类堆栈跟踪进行反混淆处理吗?

也发布为https://issuetracker.google.com/137078989

sgj*_*sse 9

请确保从https://sourceforge.net/projects/proguard/下载最新版本的 ProGuard,以获取可用于 R8 映射文件的回溯版本。

如果仍然没有产生正确的堆栈跟踪文件,则出现新错误(或更新现有错误)。

  • 确认的。我遇到了 Android sdk 工具中包含的 proguard v4.7 的问题。Proguard v6.2.0 运行良好。对于 macOS 用户:可以通过运行 `brew install proguard` 直接安装 proguard;要检查现有版本,请运行不带参数的“proguard”。如果您的路径中没有它,请尝试运行 `~/Library/Android/sdk/tools/proguard/bin/proguard.sh` (2认同)