Android 反编译odex文件

1.用到的文件:

a. baksmali.jar,smali.jar,下载地址:http://code.google.com/p/smali/downloads/list

b. odex文件所在ROM的core.jar,ext.jar,android.policy.jar,frameworks.jar,services.jar,获取方式:获取设备的root权限,提取/system/framework/中的相关文件;

将上述文件拷贝到同一目录。

2. 反编译odex文件;

进入上述目录,执行:    

java -jar baksmali.jar -x name.odex

之后,会生成一个out文件夹,里面的文件是smali格式。


3. 生成dex文件

 进入上述目录,执行:

java -jar smali.jar out -o name.dex


问题解决:

1. regCount does not match the number of arguments of the method。

这个应该跟指定的api-level有关,最新的baksmali.jar默认api-level=14(CTS),当出现问题1时,可能尝试指定api-level, 

如: java -jar baksmali.jar -a 13 out -o name.dex

更多详情请参考:http://code.google.com/p/smali/wiki/DeodexInstructions

你可能感兴趣的:(xxoo)