您的位置:首页 > 移动开发 > Android开发

Android4.0反编译笔记

2015-06-09 13:33 537 查看
环境:win7,JDK7,Android SDK 4.0.3已经完全下载



android 反编译需要用到几个工具,它们是apktools,dex2jar,jd-gui:

apktools,作者用的版本是2.0.0

下载地址:http://ibotpeaches.github.io/Apktool/

dex2jar,版本是2.0

下载地址:http://sourceforge.net/projects/dex2jar/files/

jd-gui的版本是jd-gui-0.3.3.windows,

下载地址:https://code.google.com/p/innlab/downloads/list



三个工具介绍:

apktool

作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看

dex2jar

作用:将apk反编译成java源码(classes.dex转化成jar文件)

jd-gui

作用:查看APK中classes.dex转化成出的jar文件,即源码文件

一,apktool的使用

1.将apk文件拷贝到tool目录下,本次的例子是一个app-release.apk,它是由android开发demo例子编译而成的。

2.编写apktool.bat文件内容如下,注意红字内容:

@echo off

if "%PATH_BASE%" == "" set PATH_BASE=%PATH%

set PATH=%CD%;%PATH_BASE%;

java -jar -Duser.language=en "%~dp0\apktool_2.0.0.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9

3.用命令行模式执行命令:

apktool.bat d app-release.apk -o test

4.输出结果可能如下:

I: Using Apktool 2.0.0 on app-release.apk

I: Loading resource table...

I: Decoding AndroidManifest.xml with resources...

I: Loading resource table from file: D:\用户目录\apktool\framework\1.apk

I: Regular manifest package...

I: Decoding file-resources...

I: Decoding values */* XMLs...

I: Baksmaling classes.dex...

I: Copying assets and libs...

I: Copying unknown files...

I: Copying original files...

5.提取的资源文件都存放在test目录下了



二.dex2jar的使用

1.将app-release.apk拷贝到dex2jar的目录下,并且改名为app-release.zip,解压app-release.zip

2.将解压出来的文件classes.dex,放到d2j-jar2dex.bat同级目录,

3.执行命令

d2j-dex2jar.bat classes.dex

4.可能输出结果为:

dex2jar classes.dex -> .\classes-dex2jar.jar

这个classes-dex2jar.jar就是反编译的文件。

三.jd-gui的使用

这个工具很简单,就是把反编译的文件classes-dex2jar.jar打开就可以了。也可以用鼠标拖拽到jd-gui的窗口,结果如下图:



到此,反编译就完成了,可以慢慢研究源码学习经验了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: