如何防止对 Android APK 文件进行逆向工程以保护代码?

Posted

技术标签:

【中文标题】如何防止对 Android APK 文件进行逆向工程以保护代码?【英文标题】:How to prevent reverse engineering of an Android APK file to secure code? 【发布时间】:2012-11-03 00:35:03 【问题描述】:

我有一个应用源及其APK 文件。现在我想防止这个 APK 文件被反向工程。如果可以保护我的应用免受逆向工程的影响,那么在我的编码中要遵循哪些步骤或使用任何库来实现这一点?

【问题讨论】:

Is it possible to decompile an android .apk file?的可能重复 在 Devoxx UK 上进行了一场精彩的演讲 - 看看here How to avoid reverse engineering of an APK file?的可能重复 【参考方案1】:

现在我想防止这个 APK 文件被反向工程。

这是不可能的,抱歉。

如果可以保护我的应用免受逆向工程的影响,在我的编码中要遵循哪些步骤或为此使用任何库?

正确配置的 ProGuard 会混淆您的代码。 DexGuard 是 ProGuard 的商业扩展版本,可能会有所帮助。但是,您的代码仍然可以转换为 smali,并且具有逆向工程经验的开发人员将能够从 smali 代码中了解您所做的工作。

如果您不希望其他人看到您的代码,请不要将该代码存储在他们的设备上。

【讨论】:

如何不将代码存储在他们的设备上?假设他们有一个 root 设备并且第一次下载了你的 APK。他们得到了您的 APK,可以从那里开始,对吗? @Halim:“如何不将代码存储在他们的设备上?” -- 将您的业务逻辑放在您的服务器上,让您的应用与您的服务器通信。

以上是关于如何防止对 Android APK 文件进行逆向工程以保护代码?的主要内容,如果未能解决你的问题,请参考以下文章

Android apk如何加固防止被破解(防止逆向编译)

如何对使用 ProGuard 混淆的 Android APK 进行逆向工程/反编译?

Android apk如何加固防止被破解(防止逆向编译)

安卓apk上的反逆向工程

反编译Android APK及防止APK程序被反编译

android app怎么防止反编译