2011-08-22 119 views

回答

3

尝试对您自己的应用程序进行逆向工程。看看你可以在代码中读到什么。

使用以下问题:

decompiling DEX into Java sourcecode

http://www.taranfx.com/decompile-reverse-engineer-android-apk

+1

谢谢你。我解编了两个不同的应用程序,一个是我混淆的应用程序,另一个是我没有混淆的应用程序。来自两个应用程序的代码(非模糊和混淆)看起来都是一样的。变量名称已更改,但类名称和其他内容保持不变。这是如何混淆的作品?我没有混淆的项目如何在变量名称中发生变化? – dell116

+0

这取决于你如何设置proguard工作......但我没有太多的经验! –

11

查找dump.txtmapping.txt,seeds.txtusage.txt。他们可能位于项目目录的proguard文件夹中。这些是在您的代码上运行ProGuard时创建的。

这些充满了有关混淆的信息,特别有用的是mapping.txt,它显示了ProGuard将您的各种成员名称转换为的内容。

+1

我在项目目录中有一个ProGuard文件夹,但它里面有zilch ....没有任何....我是否假设ProGuard没有正确混淆我的代码?这些文件可以在任何其他目录吗? – dell116

+0

你的项目下有任何'proguard'文件夹吗?如果没有,我会说它可能没有正确运行。 –

+0

Yes..proguard文件夹在那里...但是没有内容....我找不到你在硬盘上任何地方提到的任何文件...所以当我通过proguard运行时, ....呃哦...... – dell116

0

DISCALIMER:我不是decompileandroid.com的主人,我没有支付,以促进它。我是一个发明者,对这项服务感到满意。

实际上比获取多个不同工具并将其中一个工具的输出传递给另一个工具更容易(这当然可以更好地控制发生的情况)。您可以使用该服务

decompileandroid.com

基本上你上传.apk文件和它所有的这些步骤你。 然后,您可以下载一个.zip文件,其中包含反编译的源代码。

您可以先上传以调试模式构建的.apk,然后上传内置发布模式的.apk。只要确保在您的build.gradle文件中将标记minifyEnabled设置为true即可。

我的情况差异很明显 - 我的大多数课程在缩小版本中被命名为a,b,c等。

+0

哎呀!我的意思是,我相信你已经知道上传一个可调试的和非混淆的构建到Web服务器的影响。毕竟,我们是在谈论混淆,因此第三方无法阅读您的代码。虽然这个网站看起来不错,但我不确定我会信任它。 – dell116

+0

是的,当然在大多数情况下,您不想将APK上传到远程服务器。尤其是商业项目。我只是把它作为一个更简单的选择。在我的情况下,这是一个测试项目,所以我没有什么可以关心的。当然,如果这也不是问题,那么总是可以只上传混淆的版本。在这种情况下,人们会看到混淆的效果。 –