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文章版权属于作者,受法律保护。没有作者书面许可不得转载。

时间: 2024-09-29 08:44:57

andriod的apk文件相关的编译反编译工具的相关文章

Android对apk源码的修改--反编译+源码修改+重新打包+签名【附HelloWorld的修改实例】

近期遇到了需要修改apk源码的问题,于是上网查了下相关资料,编写了HelloWorld进行修改看看可行性,经过实验证明此方案可行,并且后来也成功用这个方法对目标apk进行了修改,只不过需要修改的部分比HelloWorld复杂些,但是只要了解下smali也能进行相关的修改,下面讲下具体的步骤,文中所用到的资源会在文章的结尾给出,感兴趣的可以下载试试. 首先介绍下要用到的工具: jdk:这个不用多说了 baksmali:把classes.dex转为为smali文件的工具 dex2jar:classe

android反编译-反编译工具和方法

前言 开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式,解开其他的程序,来了解一些它的做法,同时啊,还可以借鉴别人的软件结构,资源文件,等等,哈哈.那我就来讲解一些关于反编译相关的知识,主要分三篇,第一篇介绍反编译的工具和方法,第二篇,介绍smali的语法,第三篇介绍如何防止反编译,主要通过这几篇文章,了解如何去做反编译和代码加固. 工具 apktools-目前最强大的反编译工具 轻松反编译apk,解析出资源文件,xml文件,生成sma

代码编译-反编译-解混淆

介绍 Java的字节码一般是非常容易反编译的, 而android采用java编写, 生成的apk安装文件实际上就是一个压缩包, 可以将其解压缩, 再借用其他工具就能被反编译出来. 为了能对源代码就行一些必要的保护, 我们可以对编译好的class文件进行混淆处理. ProGuard的就是一个混淆器, 混淆器通过删除从未用过的代码和使用晦涩名字重命名类.字段和方法,对代码进行压缩,优化和混淆, 混淆后的结果是一个比较小的.apk文件, 该文件比较难进行逆向工程. ProGuard是一个SourceF

【编译反编译工具使用】

apktool下载地址:http://download.csdn.net/detail/victoria_vicky/8819355 1.定位到apktool目录下 2.执行如下命令 备注: d为反编译参数,代表decode 加-r参数的原因:为了防止[报错信息could not decode arsc files,发现是无法对资源进行解码]出现,或者防止导致反编译后无法进行重编译. 3.反编译之后,则可在改目录下看到如下文件夹 4.编译打包:将反编译出来的文件夹重新打包 备注:参数b为编译参数

eclipse怎么查看class文件(eclipse安装反编译插件)

本人eclipse版本: Eclipse Java EE IDE for Web Developers. Version: Mars.2 Release (4.5.2) 步骤1:下载两个我们需要的东西 (1)下载jadclipse插件: 下载地址:https://sourceforge.net/projects/jadclipse/ (2)下载jad.exe 文件地址:http://files.cnblogs.com/files/yaoxiaoxing/jad.rar 步骤2:找到路径D:\ec

APK文件反编译

上次看了两篇反编译APK文件的文章,反编译了几个音乐播放器,自己借用其中一个应用的界面做了一个相应播放器.近期有比较多的空闲时间,所以打算做一个LBS旅行应用.但目前发现又不会反编译了,所以还是记录下来,下次再忘直接看自己的文章比较快.(注:以下为Windows环境下) 1:反编译Java源码(从dex文件->jar文件->java文件) 利用工具(1)dex2jar,下载地址:http://code.google.com/p/dex2jar/(不知道能不能连上) (2)jd-gui,下载地址

apk反编译工具

反编译工具: apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar:将apk反编译成Java源码(classes.dex转化成jar文件) jd-gui:查看APK中classes.dex转化成出的jar文件,即源码文件 使用步骤: 1.apk反编译得到程序的源代码.图片.XML配置.语言资源 在cmd中定位到apktool所在文件夹下,输入命令apktool.bat d -f  xx.apk(apk名字)  xx(生成文件存放位置). apktool.bat

Android反编译获取资源文件-android学习之旅(69)

有时候你看到一些很好看的布局,会考虑别人怎么实现的,回想参考一下,那么这时候反编译一下是很必要的. 要用到的工具apktool.bat和aapt.exe和apktool.jar(要最新版本) 下载前两个网址是http://apktool.shoujifans.com/ apktool.jar要求是最新版,所以到官网去下载http://ibotpeaches.github.io/Apktool/ 要是嫌麻烦,就去我的网址下载,打包好了. 下载链接http://download.csdn.net/d

Android安全攻防战,反编译与混淆技术完全解析(上)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/49738023 之前一直有犹豫过要不要写这篇文章,毕竟去反编译人家的程序并不是什么值得骄傲的事情.不过单纯从技术角度上来讲,掌握反编译功能确实是一项非常有用的技能,可能平常不太会用得到,但是一旦真的需要用到的了,而你却不会的话,那就非常头疼了.另外既然别人可以反编译程序,我们当然有理由应该对程序进行一定程度的保护,因此代码混淆也是我们必须要掌握的一项技术.那么最近的两篇文章我们就围