码迷,mamicode.com
首页 > 移动开发 > 详细

android反编译

时间:2014-06-10 20:18:37      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:android   class   java   com   使用   文件   

常用反编译方法:
1.先将.apk改为.zip或者.rar用winrar加压得到classes.dex文件
2.用dex2jar工具将.dex转为.jar,然后用jd-gui就可以打开.jar查看源文件。

command: dex2jar.bat classes.dex

代码混淆:
1.混淆后能编译,只是类名,函数名看着没那么清晰了。
2.根目录下project.properties中设置配置文件路径。
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt(前者是基本文件,后者是个性化文件)
3.release方式生成apk.

解压apk包,res目录下的xml怎么查看呢。用文本工具打开是乱码。
使用AXMLPrint2.jar对xml进行反编译,报错(java.lang.ArrayIndexOutOfBoundsException)
报错原因:AndroidManifest.xml中android:minSdkVersion不能大于7
build时将android:minSdkVersion改为7以下就可以使用AXMLPrint2.jar进行反编译。

command: java -jar AXMLPrint2.jar main.xml >main.txt


baksmali.jar将classes.dex反编译为smali格式的文件(在classout文件夹下),在需要的地方做修改。
smali.jar将这些修改后的smali文件再编译为.dex文件。覆盖原来的.dex文件,然后打包为apk.(也可以使用dex2jar将其打为jar包)

android反编译,布布扣,bubuko.com

android反编译

标签:android   class   java   com   使用   文件   

原文地址:http://www.cnblogs.com/zhengbinham/p/3779483.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!