如何通过隐藏或加密类文件来避免逆向工程APK文件和安全

时间:2016-05-30 11:55:10

标签: android

我开发了一个更有价值的Android应用程序,现在我希望通过隐藏或加密类文件来保护安全,这样任何开发人员都无法通过以下链接从APK文件进行逆向工程:http://www.javadecompilers.com/

请以任何方式给我解决方案。

2 个答案:

答案 0 :(得分:0)

您可以从Build Variants视图中选择发布版本,并从GUI构建它:enter image description here

现在请查看用于proguard实现的配置build.gradle文件。它可以是模块级别或项目级别。

buildTypes {

  debug {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-  
    rules.txt'

  }
}

显示的配置是针对调试级别的,您可以在buildTypes中编写自己的构建脚本,如下所示:

myproductionbuild{
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-
    rules.txt'
}

最好使用minifyEnabled false和productionbuild以及其他版本的minifyEnabled为true。

答案 1 :(得分:0)

完全避免逆向工程Android应用程序的可能性很小,但您可以使用proguard来混淆代码或使用像appvigil,quixxi或arxan这样的sdk解决方案来实现完全成熟的安全性。代码混淆会使代码可读性变得具有挑战性,但黑客有可能理解应用程序或业务逻辑。为了防止这种情况,您可以使用动态加载库。您可以创建单独的jar或dex并在需要时将它们加载到应用程序中,使用反射调用jar / dex中的函数。