android项目反编译和混淆
来源:互联网 发布:网络大电影的盈利规则 编辑:程序博客网 时间:2024/06/05 08:09
关于反编译:
所用工具为:apktool
用途:反编译xml和一些静态资源(如图片),业界内常通过此来获取UI资源。
操作步骤:1:下载apktool并安装(最好配置PATH环境变量)
2:运行命令 apktool d xxx.apk D:/temp/
运行完后会在D:/temp下产生反编译的内容
所用工具:dex2jar、jadgui
用途:反编译工程的源代码
操作步骤:1:下载dex2jar、jadgui
2:将要反编译的apk文件,改格式为zip或rar用压缩程序打开,取出里面的classes.dex
3:对取出的classes.dex运行 dex2jar classes.dex (注意路径)
运行后,在classes.dex同目录产生classes_dex2jar.jar
4:用jadgui.exe 打开所生成的classes_dex2jar.jar就可以看到源码了(混淆后的代码的包名、类名、字段名会是a、b、aa、bc之类的)
关于android项目混淆:
所用工具:proguard(google自2.3开始支持)
操作步骤:1:将project.properties中proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt这句的注释打开
2:将proguard-project.txt文件内容改为:
所用工具为:apktool
用途:反编译xml和一些静态资源(如图片),业界内常通过此来获取UI资源。
操作步骤:1:下载apktool并安装(最好配置PATH环境变量)
2:运行命令 apktool d xxx.apk D:/temp/
运行完后会在D:/temp下产生反编译的内容
所用工具:dex2jar、jadgui
用途:反编译工程的源代码
操作步骤:1:下载dex2jar、jadgui
2:将要反编译的apk文件,改格式为zip或rar用压缩程序打开,取出里面的classes.dex
3:对取出的classes.dex运行 dex2jar classes.dex (注意路径)
运行后,在classes.dex同目录产生classes_dex2jar.jar
4:用jadgui.exe 打开所生成的classes_dex2jar.jar就可以看到源码了(混淆后的代码的包名、类名、字段名会是a、b、aa、bc之类的)
关于android项目混淆:
所用工具:proguard(google自2.3开始支持)
操作步骤:1:将project.properties中proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt这句的注释打开
2:将proguard-project.txt文件内容改为:
-injars bin/classes-injars libs-outjars bin/classes-processed.jar-libraryjars D:/android-sdk_r12-windows/android-sdk-windows/platforms/android-7/android.jar-dontpreverify-repackageclasses ''-allowaccessmodification-optimizations !code/simplification/arithmetic-keepattributes *Annotation*-dontwarn android.support.**-keep public class * extends android.app.Activity-keep public class * extends android.app.Application-keep public class * extends android.app.Service-keep public class * extends android.content.BroadcastReceiver-keep public class * extends android.content.ContentProvider-keep public class * extends com.baidu.mapapi.*-keep class com.baidu.mapapi.** {*; }-keep class com.baidu.platform.** {*; }-keep class com.baidu.location.** {*; }-keep class com.baidu.vi.** {*; }-keep public class * extends android.view.View { public <init>(android.content.Context); public <init>(android.content.Context, android.util.AttributeSet); public <init>(android.content.Context, android.util.AttributeSet, int); public void set*(...);}-keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet);}-keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int);}-keepclassmembers class * implements android.os.Parcelable { static android.os.Parcelable$Creator CREATOR;}-keepclassmembers class **.R$* { public static <fields>;}
- android项目反编译和混淆
- android混淆和反编译
- android工程混淆和反编译
- Android apk 反编译和混淆
- android代码混淆和反编译
- Android APK反编译和代码混淆
- Android开发之 混淆加固和反编译
- Android混淆打包和APK反编译
- [TODO] 矛与盾——浅析android项目的代码混淆和反编译
- Android代码混淆 反编译
- Android反编译与混淆
- Android 签名 混淆 反编译
- Android混淆、反编译基础教程
- Android混淆、反编译基础教程
- 如何混淆Android项目代码(ProGuard),防止反编译
- 如何混淆Android项目代码(ProGuard),防止反编译
- 如何混淆Android项目代码(ProGuard)防止反编译
- 如何混淆Android项目代码(ProGuard),防止反编译
- 在ti-SDK-am335x-evm-05.07.00.00里面编译时若干文件找不到的问题
- 杭电1090
- Linus Torvalds - 从单链表中删除节点
- 初识HAL<一>
- GGrid网页手写签批控件个人实现在页面上自定义显示的一个例子
- android项目反编译和混淆
- 杭电1090
- 关于Http的headers最详细的解释(值得推荐)
- 杭电1091
- 自定义MULTIPLE ListView
- AIX系统中不产生CORE文件的十大理由
- 屏幕分辨率
- IE10下 .hide()隐藏对象不生效(其它所有主流浏览器都没这个问题)的处理方式
- 行电1091