无法保护代码免受 Eclipse 中的逆向工程

Unable to protect the code from reverse engineering in eclipse

我正在处理 android 的旧项目,它在 eclipse 中。为此,我试图在进行逆向工程时保护代码(我知道 100% 混淆是不可能的,但试图为源代码提供一些保护)。为此,我已经实现了这个

project.properties

proguard.config=${sdk.dir}/tools/proguard/proguard-project.txt

proguard-project.txt

-dontwarn org.simpleframework.xml.stream.**
-dontwarn roboguice.**
-ignorewarnings
-dontshrink
-dontoptimize

使用此工具后,我将导出已签名的 APK 文件,但我可以使用这些在线工具 (tool1, tool2) 从 apk 文件中提取源代码。谁能想到在 Eclipse 中使用 Proguard 来保护代码

删除

-dontshrink
-dontoptimize

您希望您的代码被压缩和优化!

-dontwarn org.simpleframework.xml.stream.**
-dontwarn roboguice.**
-ignorewarnings

此后 apk 很可能无法在设备或模拟器上运行,因此您需要一些额外的规则才能 运行。

这是你必须根据你的代码和你使用的库来弄清楚的事情。我找到了这篇关于它的好文章,你可以忽略涉及 android studio 的内容,只需在你的 proguard-project.txt 中使用 proguard 规则 https://guides.codepath.com/android/Configuring-ProGuard

继续测试发布的 apk 并搜索每个库或崩溃你的脸,以便在你的应用程序中实现最大的混淆!

100% 混淆是不可能的,但我们可以提供一些保护,如下所示

日食

打开build.graddle

它将在eclipse中的以下位置

并提及

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

它将在 android 内,如前所述 here

Android工作室

打开build.graddle(应用级别而非项目级别)

提及minifyEnabled true as said in eclipse