1、smali-1.2.6.jar

用途:.smali文件 转成 classes.dex文件

说明:.smali文件,类似于.class文件,可以用普通文本编辑器查看和修改。

用法举例:命令行:java -jar smali.jar classout/ -o classes.dex

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

2、baksmali-1.2.6.jar

用途:classes.dex文件 转成 .smali文件

说明:classes.dex不便于查看和理解,使用此工具转成的.smali文件易于阅读和修改。

用法:命令行:java -jar baksmali.jar -o classout/ classes.dex

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

3、AXMLPrinter2.jar

用途:xml文件 转成 普通文本文件(txt)

说明:apk中的xml文件被搞成二进制了,无法阅读,使用此工具转换后,可以查看正常的xml文件。

用法举例:命令行:java -jar AXMLPrinter2.jar main.xml > main.txt

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

学习了楼下dohkoos兄弟的总结,我也大概再补充一下:

1、dexdump

androidSDK提供的反编译工具dexdump.exe,将dex文件反编译为较易理解的文本文件。

位于路径:\android\sdk\android-sdk-windows\platform-tools

用法:

dexdump: [-c] [-d] [-f] [-h] [-i] [-l layout] [-m] [-t tempfile] dexfile...

-c : verify checksum and exit

-d : disassemble code sections

-f : display summary information from file header

-h : display file header details

-i : ignore checksum failures

-l : output layout, either 'plain' or 'xml'

-m : dump register maps (and nothing else)

-t : temp file name (defaults to /sdcard/dex-temp-*)

例子:dexdump classes.dex >dexdump.txt

2、Dedexer

使用工具ddx1.11.jar来进行反编译dex,一般可读性比dexdump工具能强点,但还是不好理解。

用法:

Usage: java -jar ddx.jar -o -D -r -d <destination directory> <source>

       <destination directory> is where the generated files will be placed.

       <source> is the name of the source DEX file.

       -D - if present, more detailed error report is printed in case of failure

.

       -o - if present, detailed log file will be created about the input DEX fi

le (dex.log).

       -r - if present, register trace will be emitted after each instruction

       -e <deps> - if present, the <deps> directory is supposed to contain depen

dencies necessary for ODEX disassembly. Read the manual for details.

例子:

java -jar ddx1.11.jar -o -D -r -d src classes.dex //在src目录下生成ddx文件

3、AXMLPrinter2

查看apk中的XML资源文件,因为xml都被压缩成bytecode了,所以使用此工具帮助查看。

用法:

java -jar AXMLPrinter2.jar AndroidManifest.xml > out.xml

4、apktool

dohkoos兄弟对这个讲了不少了。能反编译,也能编译,能看class,也能看xml资源,是个不错的工具。这里推荐一个此工具的下载说明地址。

http://bbs.gfan.com/thread-971865-1-1.html

5、dex2jar

将apk或者dex转化为可以用gui查看的class文件。此种貌似很强大。

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

6、smali和baksmali

类似于apktool生成的smali文件。此两个工具,smali编译,baksmali反编译。


最后再上一张自己总结的excel,这个应该比较直观,有些看了dohkoos兄弟的,参考总结的不太好,凑和着理解吧,截个图上来:

声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。

最新文章

  1. 在自定义TableViewCell类里面添加按钮事件触发不了的一些实践
  2. ASP.Net MVC开发基础学习笔记(4):校验、AJAX与过滤器
  3. ML 01、机器学习概论
  4. Go语言学习资源
  5. LLBLGen代码生成工具
  6. phpstorm映射远程项目
  7. 日常工作中使用的一些Mongodb语句
  8. c语言中函数的简单介绍
  9. Partition算法剖析
  10. Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建
  11. Webix快速跨浏览器的JavaScript UI组件
  12. oracle之sql语句优化
  13. ural 1355. Bald Spot Revisited(数的素因子划分)
  14. 【转】linux grep命令
  15. 简述C#中IO的应用
  16. python之定义类创建实例
  17. ElasticSearch-6.2安装head插件
  18. 批处理for中字符串截取必须先把循环变量代替出来才行!!!
  19. 在图像上增加文字 C#
  20. 天梯赛训练2 7-8 矩阵A乘以B

热门文章

  1. 安装CentOS7后,无法联网,用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法
  2. js to json字符串
  3. Matlab三维绘图
  4. PHP,JavaScript,CSS三种HTML内嵌语言的语法,变量,循环,函数记录
  5. SpringMVC请求后台地址URL没有.*的几种实现方式
  6. 深入分析DDR(转载)
  7. jasperreports+Ireport开发搭建
  8. codeforces 429 On the Bench dp+排列组合 限制相邻元素,求合法序列数。
  9. mq和redis安装
  10. resize2fs命令出现这个错误“resize2fs: Operation not permitted While trying to add group #6656” 有数据的会丢数据