我正在处理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来保护代码
答案 0 :(得分: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并为每个库进行谷歌搜索,否则您的脸蛋会崩溃,以使您的应用程序获得最大程度的混淆!
答案 1 :(得分:0)
无法进行100%混淆,但是我们可以提供以下保护措施
Eclipse
打开build.graddle
它将在Eclipse中的以下位置
并提及
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
它会像提到的here一样位于android内部
Android Studio
打开build.graddle(应用程序级别而不是项目级别)
月食中提到的minifyEnabled true