无法在eclipse中保护代码免受逆向工程
Posted
技术标签:
【中文标题】无法在eclipse中保护代码免受逆向工程【英文标题】:Unable to protect the code from reverse engineering in eclipse 【发布时间】:2019-03-19 12:02:28 【问题描述】:我正在处理 Eclipse 中的旧 android 项目。为此,我试图在进行逆向工程时保护代码(我知道 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 来保护代码
【问题讨论】:
使用 allotri 进行代码混淆。 【参考方案1】:删除
-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 并搜索每个库或崩溃,以便在您的应用中实现最大程度的混淆!
【讨论】:
【参考方案2】:100% 混淆是不可能的,但我们可以提供一些保护,如下所示
Eclipse
打开 build.gradle
它将在eclipse中的以下位置
并提到
buildTypes
release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
正如提到的here,它将在android内部
Android Studio
打开 build.graddle(应用级别而非项目级别)
在eclipse中提到minifyEnabled true
【讨论】:
以上是关于无法在eclipse中保护代码免受逆向工程的主要内容,如果未能解决你的问题,请参考以下文章