gpt4 book ai didi

android - 如何对使用 ProGuard 混淆的 Android APK 进行逆向工程/反编译?

转载 作者:可可西里 更新时间:2023-11-01 18:48:08 28 4
gpt4 key购买 nike

不幸的是,我丢失了我使用 ProGuard 混淆的一个应用程序的源代码。
我还有 .apk 文件和一些由 ProGuard 生成的配置文件:

  1. dump.txt
  2. mapping.txt
  3. seeds.txt
  4. usage.txt

到目前为止我做了什么?

  1. 使用apktool解码资源文件.
    耶,我把它们拿回来了!

  2. 提取.apk 文件并使用dex2jarclasses.dex 文件转换为.jar 文件| .

如果我现在使用 JD-Gui 查看源代码(.jar 文件) ,我看到了我的混淆代码。像这样:

class c {
TextView a;
TextView b;
TextView c;
TextView d;
CheckBox e;
}

protected List a(Uri[] paramArrayOfUri) { ... }

protected void a(List paramList) { ... }

还有一些循环看起来有点奇怪。我不写无限循环:

while (true) {
if (!localIterator.hasNext())
return localArrayList;
ProviderInfo[] arrayOfProviderInfo = ((PackageInfo)localIterator.next()).providers;
if (arrayOfProviderInfo == null)
continue;
int i = arrayOfProviderInfo.length;
}

是否可以使用 ProGuard 的任何 .txt 文件将混淆代码重新映射到我的原始源代码?我想看看我自己的变量名/方法签名。
或者这些文件只能用于跟踪崩溃报告堆栈跟踪吗?

最佳答案

您要查找的所有内容都在 mapping.txt 文件中,但我从未见过可以将其全部反转的工具。 Proguard 执行的一些混淆不仅仅是方法和变量的简单重命名,因此您很可能无法执行您尝试执行的操作。 Proguard 下载随附的 retrace.jar 可能会让您走得更远,但我很确定您必须将其与堆栈跟踪文件一起使用。

关于android - 如何对使用 ProGuard 混淆的 Android APK 进行逆向工程/反编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14788517/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com