Android 反编译工具汇总
2011-04-21 13:44
681 查看
概要:apk可以用zip解压,找到classes.dex 或者找到对应的classes.odex
直接解压的apk,所得到的*.xml等都是“加密”过的
查看apk中的xml:
工具 - apktool
下载地址: http://code.google.com/p/android-apktool/
环境要求:
JRE 1.6 (Java Runtime Environment)
aapt command in a PATH
basic knowledge of what is SDK, aapt, PATH, smali and Google search engine may be useful
for windows: http://android-apktool.googlecode.com/files/apktool-install-windows-2.2_r01-3.tar.bz2
for Mac: http://android-apktool.googlecode.com/files/apktool-install-macosx-2.2_r01-1.tar.bz2
for Linux: http://android-apktool.googlecode.com/files/apktool-install-linux-2.2_r01-1.tar.bz2
//以上是aapt工具
apktool bat: http://android-apktool.googlecode.com/files/apktool1.3.2.tar.bz2
Example:
apktool d apppackage.apk
#如上的输入,可以在当前目录找到解压后的AndroidManifest.xml
反编译dex -> Java代码:
工具 - dex2jar + JD
下载地址:
dex2jar : http://code.google.com/p/dex2jar/
JD: http://java.decompiler.free.fr/?q=jdgui (还有jd for eclipse的,想在eclipse里打开class的同学幸福了)
Example:
反编译classes.dex -> Java code,
Step1. dex2jar classes.dex -> 得到输出的.jar包
Step2. jar - > java code : 用jd打开jar包,就可以看到java代码了。 (* 有时候一些代码是加密过的,比如隐藏了函数名和包名)
反编译odex ->java代码
工具 baksmali + smali + dex2jar + JD
下载地址:
baksmali + smali :http://code.google.com/p/smali/downloads/list
Example:
Step1. java -jar baksmali-1.2.4.jar -x app.odex
Step2. java -Xmx512M -jar smali-1.2.4.jar out -o classes.dex
Step3. 请参考上面的Dex2Jar工具
(大致的过程是先将odex包分解,再重新用smali打包,再转化dex->jar,再用jd查看,以上过程中第一步会出现类似于
请将/system/framework/下对应的xxx.odex拷贝到当前工具目录下。)
参考:
[1] http://code.google.com/p/smali/
[2] http://code.google.com/p/dex2jar/
[3] http://code.google.com/p/android-apktool/
[4] http://www.andmoto.com/viewthread.php?tid=3873
[5] http://mp870601.blog.163.com/blog/static/13675745320109915458873/
[6] http://hi.baidu.com/%CB%BF%D4%B5%CC%EC%CF%C2/blog/item/2284e2debafc541e495403ec.html
[7] http://blog.csdn.net/liranke/archive/2010/05/22/5616647.aspx
直接解压的apk,所得到的*.xml等都是“加密”过的
查看apk中的xml:
工具 - apktool
下载地址: http://code.google.com/p/android-apktool/
环境要求:
JRE 1.6 (Java Runtime Environment)
aapt command in a PATH
basic knowledge of what is SDK, aapt, PATH, smali and Google search engine may be useful
for windows: http://android-apktool.googlecode.com/files/apktool-install-windows-2.2_r01-3.tar.bz2
for Mac: http://android-apktool.googlecode.com/files/apktool-install-macosx-2.2_r01-1.tar.bz2
for Linux: http://android-apktool.googlecode.com/files/apktool-install-linux-2.2_r01-1.tar.bz2
//以上是aapt工具
apktool bat: http://android-apktool.googlecode.com/files/apktool1.3.2.tar.bz2
Example:
apktool d apppackage.apk
#如上的输入,可以在当前目录找到解压后的AndroidManifest.xml
反编译dex -> Java代码:
工具 - dex2jar + JD
下载地址:
dex2jar : http://code.google.com/p/dex2jar/
JD: http://java.decompiler.free.fr/?q=jdgui (还有jd for eclipse的,想在eclipse里打开class的同学幸福了)
Example:
反编译classes.dex -> Java code,
Step1. dex2jar classes.dex -> 得到输出的.jar包
Step2. jar - > java code : 用jd打开jar包,就可以看到java代码了。 (* 有时候一些代码是加密过的,比如隐藏了函数名和包名)
反编译odex ->java代码
工具 baksmali + smali + dex2jar + JD
下载地址:
baksmali + smali :http://code.google.com/p/smali/downloads/list
Example:
Step1. java -jar baksmali-1.2.4.jar -x app.odex
Step2. java -Xmx512M -jar smali-1.2.4.jar out -o classes.dex
Step3. 请参考上面的Dex2Jar工具
(大致的过程是先将odex包分解,再重新用smali打包,再转化dex->jar,再用jd查看,以上过程中第一步会出现类似于
Error occured while loading boot class path files. Aborting. org.jf.dexlib.Util.ExceptionWithContext: Cannot locate boot class path file core .odex at org.jf.dexlib.Code.Analysis.ClassPath.loadBootClassPath(ClassPath.jav a:237) at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:14 5) at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(Cla ssPath.java:110) at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:98) at org.jf.baksmali.main.main(main.java:278)
请将/system/framework/下对应的xxx.odex拷贝到当前工具目录下。)
参考:
[1] http://code.google.com/p/smali/
[2] http://code.google.com/p/dex2jar/
[3] http://code.google.com/p/android-apktool/
[4] http://www.andmoto.com/viewthread.php?tid=3873
[5] http://mp870601.blog.163.com/blog/static/13675745320109915458873/
[6] http://hi.baidu.com/%CB%BF%D4%B5%CC%EC%CF%C2/blog/item/2284e2debafc541e495403ec.html
[7] http://blog.csdn.net/liranke/archive/2010/05/22/5616647.aspx
相关文章推荐
- android 反编译工具汇总
- Android反编译工具使用
- Android APK 反编译工具
- Android 常用性能测试工具汇总
- Android开发工具汇总
- Android工具文章汇总(实时更新)
- Android开发工具——Gradle知识汇总
- Android资源总结(开发工具/环境搭建/教程/论坛/博客/反编译工具)
- Android开发工具之(10)-反编译整理集
- Android deodex(odex 反编译工具的使用)
- Android反编译与破解工具次序
- Android库分析工具(崩溃反编译)
- 工欲善其事,必先利其器 软件工具开发关键词 protractor自动化测试工具 RegexBuddy正则 CodeSmith,LightSwitch:代码生成 CheatEngine:玩游戏修改内存值必备神器 ApkIDE:Android反编译工具 Reflector:反编译dll动态链接库
- zhu的工作日记:安卓反编译工具使用教程(android)
- Android开发工具汇总
- Android内核开发 相关工具及源码下载汇总
- Android自动化测试工具汇总
- Android性能分析工具常用汇总