30
如何避免APK文件的反向工程?
我正在开发适用于Android 的付款处理应用程序,并且我想防止黑客访问APK文件中的任何资源,资产或源代码。 如果有人将.apk扩展名更改为.zip,那么他们可以将其解压缩并轻松访问应用程序的所有资源和资产,并且使用dex2jar和Java反编译器,他们还可以访问源代码。对Android APK文件进行反向工程非常容易-有关更多详细信息,请参见Stack Overflow问题:从APK文件反向工程到项目。 我已经使用了Android SDK随附的Proguard工具。当我反向工程使用签名的密钥库和Proguard生成的APK文件时,我得到的代码很混乱。 但是,Android组件的名称保持不变,某些代码(如应用中使用的键值)保持不变。根据Proguard文档,该工具不能混淆清单文件中提到的组件。 现在我的问题是: 如何完全防止 Android APK的反向工程?这可能吗? 如何保护应用程序的所有资源,资产和源代码,以使黑客无法以任何方式对APK文件进行黑客攻击? 有没有办法使黑客攻击变得更加艰难甚至不可能?我还能做些什么来保护APK文件中的源代码?