Android 反编译工具汇总

概要:apk可以用zip解压,找到classes.dex 或者找到对应的classes.odex

直接解压的apk,所得到的*.xml等都是“加密”过的

 

查看apk中的xml:

工具 - apktool

下载地址: http://code.google.com/p/android-apktool/

环境要求:

  • JRE 1.6 (Java Runtime Environment)
  • aapt command in a PATH
  • basic knowledge of what is SDK, aapt, PATH, smali and Google search engine may be useful

for windows: http://android-apktool.googlecode.com/files/apktool-install-windows-2.2_r01-3.tar.bz2

for Mac: http://android-apktool.googlecode.com/files/apktool-install-macosx-2.2_r01-1.tar.bz2

for Linux: http://android-apktool.googlecode.com/files/apktool-install-linux-2.2_r01-1.tar.bz2

//以上是aapt工具

apktool bat: http://android-apktool.googlecode.com/files/apktool1.3.2.tar.bz2

 

Example:

apktool d apppackage.apk

#如上的输入,可以在当前目录找到解压后的AndroidManifest.xml

 

反编译dex -> Java代码:

工具 - dex2jar + JD

下载地址:

dex2jar :   http://code.google.com/p/dex2jar/

JD:  http://java.decompiler.free.fr/?q=jdgui    (还有jd for eclipse的,想在eclipse里打开class的同学幸福了)

 

Example:

反编译classes.dex -> Java code,

Step1. dex2jar classes.dex  -> 得到输出的.jar包

Step2. jar - > java code : 用jd打开jar包,就可以看到java代码了。 (* 有时候一些代码是加密过的,比如隐藏了函数名和包名)

 

 

反编译odex ->java代码

工具 baksmali + smali + dex2jar + JD

下载地址:

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

 

Example:

Step1. java -jar baksmali-1.2.4.jar -x app.odex

Step2. java -Xmx512M -jar smali-1.2.4.jar out -o classes.dex

Step3. 请参考上面的Dex2Jar工具

(大致的过程是先将odex包分解,再重新用smali打包,再转化dex->jar,再用jd查看,以上过程中第一步会出现类似于

请将/system/framework/下对应的xxx.odex拷贝到当前工具目录下。)

 

 

参考:

[1] http://code.google.com/p/smali/

[2] http://code.google.com/p/dex2jar/

[3] http://code.google.com/p/android-apktool/

[4] http://www.andmoto.com/viewthread.php?tid=3873

[5] http://mp870601.blog.163.com/blog/static/13675745320109915458873/

[6] http://hi.baidu.com/%CB%BF%D4%B5%CC%EC%CF%C2/blog/item/2284e2debafc541e495403ec.html

[7] http://blog.csdn.net/liranke/archive/2010/05/22/5616647.aspx

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工 具,可以直接查看Jar包的源代码。 以下是下载地址: dex2jar:http://laichao.googlecode.com/files /dex2jar-0.0.7-SNAPSHOT.zip JD-GUI:http://laichao.googlecode.com/files/jdgui.zip 具体步骤: 首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的; 解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex 生成classes.dex.dex2jar.jar 运行JD-GUI,打开上面生成的jar包,即可看到源代码了。 二.反编译apk生成程序的源代码和图片、XML配置、语言资源等文件 如果是只是汉化软件,这将特别有用。首先还是下载工具,这次用到的是apktool,下载地址: http://code.google.com/p/android-apktool/,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。 具体步骤: 将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar; 在命令行下定位到apktool.bat文件夹,输入以下命令: apktool d C:\***.apk C:\***文件夹 命令行解释:apktool d [要反编译的apk文件 ] [输出文件夹],特别注意:你要反编译的文件一定要放在C盘的根目录里; 将反编译完的文件重新打包成apk,很简单,输入apktool b c:\***文件夹(你编译出来文件夹)即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值