Android之反编译工具:http://www.cnblogs.com/freeliver54/archive/2011/10/19/2172272.htmlAndroid中比较好的反编译方法:
http://www.maxhis.info/androiding/android-apk-decompile/http://hi.baidu.com/atell/blog/item/4e8482f9eb33de056c22ebac.html
[发现光链接,我自己查看都有点麻烦,重新整理下,来源于上面的地址!]

S1: 下载两个工具: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
[其实可以使用dex2jar Phone.apk,无需解压(今天突然发现)]
运行JD-GUI,打开上面生成的jar包,即可看到源代码了。
[注:1 .这里有可能报错,是缺少包的原因,我的Lib下有slf4j-api-1.5.6.jar | asm-debug-all.jar | slf4j-simple-1.5.6.jar | commons-io-2.0.jar | dex2jar-0.0.7.11-SNAPSHOT.jar
2. 这里资源文件,xml文件还是打不开的。采用S2]
S2: 如果是只是汉化软件,这将特别有用。首先还是下载工具,这次用到的是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:\***文件夹(你编译出来文件夹)即可。

这里ApkTool得到资源文件,JD得到java源码。
因为ApkTool得到的JAVA源码的中间文件smali,得用JD反编译工具才可以!

更多相关文章

  1. Android屏幕截图并保存截取屏幕的图片到指定文件
  2. Android 编译App报错 找不到android.support.annotation.Keep的
  3. Android 编译提示R文件找不到
  4. 总结系列-Android的文件系统
  5. Android性能检测--traceview工具各个参数的意思
  6. Android JNI学习笔记——so文件动态加载
  7. Android APK 文件自动安装
  8. Android读写文件二

随机推荐

  1. sql update 触发器 可获得被update的行的
  2. sqlserver 存储过程分页(按多条件排序)
  3. sqlserver中的自定义函数的方法小结
  4. .Net下执行sqlcmd的方法
  5. SqlServer下通过XML拆分字符串的方法
  6. Sqlserver 常用日期时间函数
  7. SQLServer中SELECT语句的执行顺序
  8. 在SQLServer上查看SQL语句的执行时间的方
  9. sqlserver 存储过程分页代码第1/2页
  10. 当恢复sqlserver bak文件时,原始的用户无