我正在为Android 开发支付处理应用程序,我想阻止黑客从APK文件访问任何资源,资产或源代码.
如果有人将.apk扩展名更改为.zip,那么他们可以解压缩它并轻松访问所有应用程序的资源和资产,并使用dex2jar和Java反编译器,他们也可以访问源代码.逆向工程Android APK文件非常容易 - 有关详细信息,请参阅Stack Overflow问题从APK文件到项目的逆向工程.
我使用了随Android SDK提供的Proguard工具.当我对使用签名密钥库和Proguard生成的APK文件进行逆向工程时,我得到了混淆代码.
但是,Android组件的名称保持不变,某些代码(如应用程序中使用的键值)保持不变.根据Proguard文档,该工具不能混淆清单文件中提到的组件.
现在我的问题是:
用户是否能够将我的应用程序的apk文件转换回实际代码?如果他们这样做 - 有什么办法可以阻止这种情况吗?
我想100%保护我的应用程序并且不希望黑客进入内部.
这些是我从Stack Overflow中找到的解决方案.
在应用程序中集成Proguard.
在C/C++中保留代码中最重要的部分.
使用NDK将代码本机编写到.So文件中.
使用MD5加密api密钥.
那么有没有其他方法可以完全保护我的Android应用程序免受黑客攻击,或者这是上述提到的最佳解决方案.
这些是我发现的参考文献