andriod的apk文件相关的编译反编译工具
1、smali-1.2.6.jar
用途:.smali文件 轉(zhuǎn)成 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文件 轉(zhuǎn)成 .smali文件
說明:classes.dex不便于查看和理解,使用此工具轉(zhuǎn)成的.smali文件易于閱讀和修改。
用法:命令行:java -jar baksmali.jar -o classout/ classes.dex
下載:http://code.google.com/p/smali/downloads/list
3、AXMLPrinter2.jar
用途:xml文件 轉(zhuǎn)成 普通文本文件(txt)
說明:apk中的xml文件被搞成二進制了,無法閱讀,使用此工具轉(zhuǎn)換后,可以查看正常的xml文件。
用法舉例:命令行:java -jar AXMLPrinter2.jar main.xml > main.txt
下載:http://code.google.com/p/android4me/downloads/list
學習了樓下dohkoos兄弟的總結(jié),我也大概再補充一下:
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轉(zhuǎn)化為可以用gui查看的class文件。此種貌似很強大。
下載地址:http://code.google.com/p/dex2jar/downloads/list
6、smali和baksmali
類似于apktool生成的smali文件。此兩個工具,smali編譯,baksmali反編譯。
最后再上一張自己總結(jié)的excel,這個應(yīng)該比較直觀,有些看了dohkoos兄弟的,參考總結(jié)的不太好,湊和著理解吧,截個圖上來:
聲明:ITeye文章版權(quán)屬于作者,受法律保護。沒有作者書面許可不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的andriod的apk文件相关的编译反编译工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zookeepr+kafka集群搭建(一
- 下一篇: ansible+heartbeatV2构