android 反编译报错,android反编译

常用反编译方法:

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包)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值