andriod的apk文件相关的编译反编译工具
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文章版权属于作者,受法律保护。没有作者书面许可不得转载。
最新文章
- 在自定义TableViewCell类里面添加按钮事件触发不了的一些实践
- ASP.Net MVC开发基础学习笔记(4):校验、AJAX与过滤器
- ML 01、机器学习概论
- Go语言学习资源
- LLBLGen代码生成工具
- phpstorm映射远程项目
- 日常工作中使用的一些Mongodb语句
- c语言中函数的简单介绍
- Partition算法剖析
- Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建
- Webix快速跨浏览器的JavaScript UI组件
- oracle之sql语句优化
- ural 1355. Bald Spot Revisited(数的素因子划分)
- 【转】linux grep命令
- 简述C#中IO的应用
- python之定义类创建实例
- ElasticSearch-6.2安装head插件
- 批处理for中字符串截取必须先把循环变量代替出来才行!!!
- 在图像上增加文字 C#
- 天梯赛训练2 7-8 矩阵A乘以B
热门文章
- 安装CentOS7后,无法联网,用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法
- js to json字符串
- Matlab三维绘图
- PHP,JavaScript,CSS三种HTML内嵌语言的语法,变量,循环,函数记录
- SpringMVC请求后台地址URL没有.*的几种实现方式
- 深入分析DDR(转载)
- jasperreports+Ireport开发搭建
- codeforces 429 On the Bench dp+排列组合 限制相邻元素,求合法序列数。
- mq和redis安装
- resize2fs命令出现这个错误“resize2fs: Operation not permitted While trying to add group #6656” 有数据的会丢数据