Android 如何避免APK文件的反向工程?
我正在为Android开发一个支付处理应用程序,我想阻止黑客访问文件中的任何资源、资产或源代码 如果有人将.apk扩展名更改为.zip,那么他们可以解压它并轻松访问应用程序的所有资源和资产,并且使用Java和Java反编译器,他们还可以访问源代码。对Android APK文件进行反向工程非常容易——有关更多详细信息,请参阅堆栈溢出问题 我使用了Android SDK提供的Proguard工具。当我对使用签名密钥库和Proguard生成的APK文件进行反向工程时,我会得到模糊的代码 然而,Android组件的名称保持不变,一些代码,如应用程序中使用的键值,保持不变。根据Proguard文档,该工具无法混淆清单文件中提到的组件 现在我的问题是:Android 如何避免APK文件的反向工程?,android,security,proguard,reverse-engineering,Android,Security,Proguard,Reverse Engineering,我正在为Android开发一个支付处理应用程序,我想阻止黑客访问文件中的任何资源、资产或源代码 如果有人将.apk扩展名更改为.zip,那么他们可以解压它并轻松访问应用程序的所有资源和资产,并且使用Java和Java反编译器,他们还可以访问源代码。对Android APK文件进行反向工程非常容易——有关更多详细信息,请参阅堆栈溢出问题 我使用了Android SDK提供的Proguard工具。当我对使用签名密钥库和Proguard生成的APK文件进行反向工程时,我会得到模糊的代码 然而,Andr
开发人员可以采取以下步骤以某种方式防止APK被盗
- 最基本的方法是使用
等工具来混淆代码,但到目前为止,要完全阻止某人对应用程序进行反编译是相当困难的ProGuard
- 我还听说过一种工具。它通过在Android APK中插入无害的代码来停止
,从而混淆和禁用Dex2Jar
,并保护代码不被反编译。它可以以某种方式防止黑客将APK反编译成可读的java代码Dex2Jar
- 仅在需要时使用服务器端应用程序与应用程序通信。这有助于防止重要数据泄露
<project>/libs/armeabi/libstuff.so
/libs/armeabi/libstuff.so
一,。我如何才能完全避免Android APK的逆向工程?这可能吗
不可能
二,。如何保护应用程序的所有资源、资产和源代码,使黑客无法以任何方式攻击APK文件
不可能
三,。有没有办法让黑客变得更难甚至不可能?我还能做些什么来保护APK文件中的源代码
更难-可能吧,但事实上,这对普通用户来说更难,他们只是在谷歌上搜索黑客指南。如果有人真的想入侵你的应用程序-它迟早会被入侵。100%避免对Android APK进行反向工程是不可能的,但你可以使用以下方法避免提取更多数据,如源代码、APK中的资产和资源:
抱歉,您不能像现在这样保护/res目录中的文件 但是,您可以采取一些步骤来保护您的源代码,或者至少保护它的功能(如果不是全部)
When it comes to money, we always assume that client is untrusted.