Android APK系列6-------APK反编译

前面系列提到的工具在此依然有用,比如可以用yaff2img浏览器或者unyaffs来解压system.img,如果手里是手机,则需要用豌豆荚或360手机助手,设置直接用adb把apk读出来。也可以用系列5中的apktool-gui-1.3.5去反编译apk和dex

下面尝试用apktool命令行去反编译。

A:apk反编译

http://code.google.com/p/android-apktool/downloads/list上去下载

apktool1.4.3.tar.bz2windowslinux上的版本文件

 

apktool 命令
./apktool d demo.apk demo    反编译 demo.apk到文件夹demo

B:  odex转dex

http://code.google.com/p/smali/downloads/list

下载下面4个文件。

现在我们要对CardManager.odex进行反编译,以CardManager.odex为例。

//注意:这里要有core.jar:ext.jar:framework.jar:android.policy.jar:services.jar文件支持。这个 apk 所在的 rom 里面的一些 jar 文件,都在 /system/framework 里面: core.jar, ext. jar, framework. jar, android.policy. jar, services.jar和对应的.odex文件,把这些文件放在CardManager.odex同一级目录

1.    运行java -jar baksmali-1.3.2.jar -a 12 -x CardManager.odex会生成一个out文件夹,里面的文件以.smali结尾

2.    生成 classes.dex文件, 运行 java -jar smali-1.3.2.jar out/ -o classes.dex

3.    生成classes_dex2jar.jar文件

到http://code.google.com/p/dex2jar/downloads/list下载dex2jar

解压后进入目录去运行,windows用dex2jar.bat. linux用dex2jar.sh.

dex2jar.bat ../test/classes.dex   把上个目录的test目录下的classes.dex转成jar

最后会在../test/下生成classes_dex2jar.jar

4.    运行jd-gui打开classes_dex2jar.jar。就ok了。

http://java.decompiler.free.fr/?q=jdgui下载jd-gui.或者使用其它的JAVA反编译工具。

 

另一种方法:

.jar文件可以用jar –xvf 文件名.jar 命令解压,或者把扩展名改为.rar后用winrar解压

然后用jad -o -r -sjava -dsrc 所在目录名/**/*.class

 

反编译framework.odex 

java -Xmx512m -jar baksmali-1.3.2.jar --api-level 12 -c:core.jar:bouncycastle.jar:ext.jar:framework.jar:android.policy.jar:services.jar:core-junit.jar -d framework/ -x framework.odex

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值