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文章版权属于作者,受法律保护。没有作者书面许可不得转载。
andriod的apk文件相关的编译反编译工具的更多相关文章
- class文件直接修改_反编译修改class文件变量
今天笔者同事遇到一个问题,客户同事的数据库连接信息直接写在代码中,连接的密码改了,但是又没有源代码,所以只能直接修改Java class文件. 记录一下修改步骤: 1.下载JClassLib_wind ...
- android编译/反编译常用工具及项目依赖关系
项目依赖关系 apktool:依赖smali/baksmali,XML部分 AXMLPrinter2 JEB:dx 工具依赖 AOSP , 反编译dex 依赖 apktool dex2jar:依赖 A ...
- eclipse怎么查看class文件(eclipse安装反编译插件)
本人eclipse版本: Eclipse Java EE IDE for Web Developers. Version: Mars.2 Release (4.5.2) 步骤1:下载两个我们需要的东西 ...
- apk反编译工具
反编译工具: apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar:将apk反编译成Java源码(classes.dex转化成jar文件) jd-gui:查看APK中 ...
- Android反编译获取资源文件-android学习之旅(69)
有时候你看到一些很好看的布局,会考虑别人怎么实现的,回想参考一下,那么这时候反编译一下是很必要的. 要用到的工具apktool.bat和aapt.exe和apktool.jar(要最新版本) 下载前两 ...
- Android安全攻防战,反编译与混淆技术完全解析(下)
在上一篇文章当中,我们学习了Android程序反编译方面的知识,包括反编译代码.反编译资源.以及重新打包等内容.通过这些内容我们也能看出来,其实我们的程序并没有那么的安全.可能资源被反编译影响还不是很 ...
- Android安全攻防战,反编译与混淆技术完全解析(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/49738023 之前一直有犹豫过要不要写这篇文章,毕竟去反编译人家的程序并不是什么值 ...
- Android安全攻防战,反编译与混淆技术全然解析(下)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/50451259 在上一篇文章其中,我们学习了Android程序反编译方面的知识,包括 ...
- Androd安全——反编译技术完全解析
)第二步成功后我们会发现在当前目录下多了一个<APKName>文件夹,这个文件夹中存放的就是反编译的结果了.我们可以打开AndroidManifest.xml.res/layout即可查看 ...
随机推荐
- OpenCV3+Python3
OpenCV3计算机视觉Python语言实现笔记 图像处理与OpenCV Python3与OpenCV3.3 图像处理 OpenCV文摘 基于Python3 + OpenCV3.3.1的远程监控程序 ...
- int、char、long各占多少字节数
Java基本类型占用的字节数:1字节: byte , boolean2字节: short , char4字节: int , float8字节: long , double 编码与中文:Unicode/ ...
- CXSprite.h文件
#ifndef __XSprite_H__ #define __XSprite_H__ #include "CocoHead.h" #define BTN_FRAME_AMOUNT ...
- CSS3多列布局
通过 CSS3,您能够创建多个列来对文本进行布局 - 就像报纸那样! 在本章中,您将学习如下多列属性: column-count column-gap column-rule 浏览器支持 属性 浏览器 ...
- service文件(格林速洗项目)
service文件模板:String url="http://59.78.93.208:9097/Order?id="+id+"&value="+val ...
- DLL编写中extern “C”和__stdcall的作用
动态链接库的使用有两种方式,一种是显式调用.一种是隐式调用. (1) 显式调用:使用LoadLibrary载入动态链接库.使用GetProcAddress获取某函数地址. (2) ...
- Tiny4412 虚拟机交叉编译环境的设置以及编译u-boot 和 kernel
从CD 里面拷贝如下文件到虚拟机里面 解压 查看是否有如下文件 tiny4412_qt@chenfl:~/tiny4412$ ls opt/FriendlyARM/toolschain/4.5.1/b ...
- 【Spring实战】—— 3 使用facotry-method创建单例Bean总结
如果有这样的需求: 1 不想再bean.xml加载的时候实例化bean,而是想把加载bean.xml与实例化对象分离. 2 实现单例的bean 以上的情况,都可以通过工厂方法factory-metho ...
- 二分图匹配 + 最小点覆盖 - Vertex Cover
Vertex Cover Problem's Link Mean: 给你一个无向图,让你给图中的结点染色,使得:每条边的两个顶点至少有一个顶点被染色.求最少的染色顶点数. analyse: 裸的最小点 ...
- easyui datagrid 列拖动
实现代码-code <script type="text/javascript"> $.extend($.fn.datagrid.methods, { columnMo ...