我有一个Android项目,我最近通过与ProGuard进行模糊处理后将其发布到市场。
该项目的出口没有任何复杂性,但我怎么知道它被混淆了?有什么我可以做的来验证混淆是否成功?
答案 0 :(得分:11)
查找dump.txt
,mapping.txt
,seeds.txt
和usage.txt
。它们可能位于项目目录的proguard
文件夹中。这些是在代码上运行ProGuard时创建的。
这些内容充满了有关混淆的信息,特别有用的是mapping.txt
,它显示了ProGuard将您的各种成员名称转换为。
答案 1 :(得分:3)
尝试对您自己的应用程序进行反向工程。看看您在代码中可以阅读的内容。
使用以下问题:
decompiling DEX into Java sourcecode
http://www.taranfx.com/decompile-reverse-engineer-android-apk
答案 2 :(得分:0)
DISCALIMER :我不是 decompileandroid.com 的所有者,我没有付费推广它。我是一个开心的人,对这项服务感到满意。
实际上有一种比获取几种不同工具并将其中一种工具的输出传递给另一种更简单的方法(这当然可以让您更好地控制正在发生的事情)。您可以使用该服务
基本上你上传和.apk文件,它会为你完成所有这些步骤。 然后,您可以下载.zip文件,其中包含反编译的源。
您可以先上传内置调试模式的.apk,然后上传内置发布模式的.apk。只需确保minifyEnabled
文件中的标记true
设置为build.gradle
即可发布版本。
在我的案例中,差异非常明显 - 我的大部分课程都在缩小版本中命名为a,b,c等。