apk反编译与android项目代码混淆
2014-02-20 09:27
453 查看
APK反编译
1、将APK解压出来,会有一个 classes.dex 文件
2、得到了 clases.dex 文件,将其 还原成 .jar 包,这一步需要用到一个工具 --dex2jar(谷歌的代码库里有 http://code.google.com/p/dex2jar/)将其下载下来,然后解压,解压目录中会有一个 dex2jar.bat。将 1 中解压出的classe.dex 拷贝到dex2jar的解压目录中,然后在命令行执行 "dex2jar.bat classes.dex",之后在解压目录中会看到多出一个名叫“classes.dex.dex2jar.jar”的jar文件
3、查看 .jar 文件,这一步就是传统的反编译了,我们需要用到一个辅助工具 :jd-gui (http://java.decompiler.free.fr/?q=jdgui) 下载后,用jd-gui 打开.jar 文件,就能查看到反编译后的代码了。 没有经过混淆的项目,反编译之后的代码和你项目中的代码相差无几了。
android项目混淆代码
现在看android-sdks\tools目录下,会有一个proguard文件夹。这里google已经做了很多,但是是在2.3及其以后的版本。在进入proguard文件夹,会有一个proguard-android.txt文件。这个就是google默认的混淆代码的默认配置文件(虽说是默认,但还是需要在android工程中开启)。接下来在新建的Android工程目录下 会有 两个配置文件 分别是project.properties 和 proguard-android.txt(注意2.3和4.0以后版本这两个文件名有略微区别),这里就需要在project.properties开启混淆代码设置,看到这句没:
将下面这句注释取消掉,意思就是执行 android-sdks/tools/proguard/proguard-android.txt 和你项目当前目录下得proguard-android.txt文件中的操作。
1、将APK解压出来,会有一个 classes.dex 文件
2、得到了 clases.dex 文件,将其 还原成 .jar 包,这一步需要用到一个工具 --dex2jar(谷歌的代码库里有 http://code.google.com/p/dex2jar/)将其下载下来,然后解压,解压目录中会有一个 dex2jar.bat。将 1 中解压出的classe.dex 拷贝到dex2jar的解压目录中,然后在命令行执行 "dex2jar.bat classes.dex",之后在解压目录中会看到多出一个名叫“classes.dex.dex2jar.jar”的jar文件
3、查看 .jar 文件,这一步就是传统的反编译了,我们需要用到一个辅助工具 :jd-gui (http://java.decompiler.free.fr/?q=jdgui) 下载后,用jd-gui 打开.jar 文件,就能查看到反编译后的代码了。 没有经过混淆的项目,反编译之后的代码和你项目中的代码相差无几了。
android项目混淆代码
现在看android-sdks\tools目录下,会有一个proguard文件夹。这里google已经做了很多,但是是在2.3及其以后的版本。在进入proguard文件夹,会有一个proguard-android.txt文件。这个就是google默认的混淆代码的默认配置文件(虽说是默认,但还是需要在android工程中开启)。接下来在新建的Android工程目录下 会有 两个配置文件 分别是project.properties 和 proguard-android.txt(注意2.3和4.0以后版本这两个文件名有略微区别),这里就需要在project.properties开启混淆代码设置,看到这句没:
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
将下面这句注释取消掉,意思就是执行 android-sdks/tools/proguard/proguard-android.txt 和你项目当前目录下得proguard-android.txt文件中的操作。
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
相关文章推荐
- android apk 导出(签名) is not translated in xx 代码混淆 反编译
- 如何混淆Android项目代码(ProGuard),防止反编译
- Android APK反编译以及代码混淆
- android apk 导出(签名) is not translated in xx 代码混淆 反编译
- Android APK之代码混淆与反编译
- Android Apk的反编译与代码混淆
- Android APK反编译和代码混淆
- 如何混淆Android项目代码(ProGuard)防止反编译
- android学习笔记-Android如何防止apk程序被反编译代码混淆
- Android代码混淆防止反编译APK获取源码
- 如何混淆Android项目代码(ProGuard),防止反编译
- [TODO] 矛与盾——浅析android项目的代码混淆和反编译
- Android apk反编译及AS代码混淆方法
- 项目清空在模拟器的缓存;代码混淆导出apk(绑定keystore);反编译
- Android APK安全: 代码混淆且加壳防止反编译
- Android 代码混淆及反编译方法
- 解决android导入多个第三方jar包后项目代码混淆的问题 .
- Android APK及导出JAR包的代码混淆
- Android代码混淆及项目发布方法记录
- Android 混淆代码,使自己的apk更安全