2014-09-01 107 views
1

我在写android应用程序。 现在我想保护Activity类。我使用proGuard进行模糊处理,但是当我用fernflower反编译我的apk时,我可以看到完整的源代码。我从谷歌下载了apk并尝试反编译,并且无法反编译onCreate方法。也许有人知道我如何保护我的代码。 也许自定义类加载器?但是,我怎么知道它需要通过dex文件的路径,但如果apk将被索引,我的程序将会下降。保护android源代码

+0

可能重复的[如何避免反向工程的APK文件?](http://stackoverflow.com/questions/13854425/how-to-avoid-reverse-engineering-of-an-apk-file) – Henry 2014-09-01 10:02:19

回答

1

当你说你可以“看完整的源代码”,你的类和变量名称是否被混淆了? Proguard的目的是通过替换类和变量名来使逆向工程变得困难。它不会阻止某人将APK分解成类似源代码的内容;它可能会使得反向工程和修改代码变得更加困难(或更耗时)。

当您试图反编译其他Play应用程序并且看不到反编译的onCreate()时,那么在反汇编过程中可能会出现某种错误。我对这些工具的有限经验是它们并不完美,有时各种方法不能成功地反编译成代表源的东西。

如果您的类名(特别是您自己的类与OS类相对)和变量名没有被混淆,那么您需要修复您的Proguard配置。