简单的总结几个关键步骤:
一、工具准备:apktool , dex2jar , jd-gui
二、使用dex2jar + jd-gui 得到apk的java源码
1.用解压工具从 apk包中取出 classes.dex 文件
用命令(dex2jar.bat classes.dex
)得到一个 jar文件
2.用jd-gui反编译工具将得到.jar文件反编译成.java文件
三、使用apktool得到apk的xml文件
1.用命令(apktool d xxx.apk xxx_xml
)反编译xxx.apk包
2.从 xxx_xml 文件夹得到xml文件
四、第二步得到的程序源代码和第三步得到的xml文件组合下,即可得到完整的apk源码。
五、汉化/去广告,加 values-zh-rCN, values-zh-rTW, values-de, values-fr
1.在步骤三的文件夹里 建文件夹:
values-zh-rCN,values-zh-rTW
2.1复制values\strings.xml 到
values-zh-rCN
并翻译.
2.2 去广告见:http://www.cnblogs.com/wangjianhui/archive/2011/07/05/2098563.html
3.重建APK,用命令(apktool b xxx
) ,输出到ABC/dist/out.apk
或命令(
apktool b xxx
out.apk
)
六、签名
1.把未签名的apk 复制到 sign.bat 目录下。
2.打开cmd, 进入到 sign.bat 目录下, 输入命令:
sign out.apk out_signed.apk
out.apk 即为没签名的apk, out_signed.apk 为签名的
sign.bat 要改下:
@ECHO OFF
java -jar signapk.jar testkey.x509.pem testkey.pk8 %1 %2
--------------------------------- 以下是整理/摘选的
---------------------------------
在官网下载 apktools 工具
http://code.google.com/p/android-apktool/
apktool1.4.3.tar.bz2
和 apktool-install-windows-r04-brut1.tar.bz2
解压分别得到 apktool.jar
和 apktool.bat
, aapt.exe
.
把这3个文件复制到 系统文件夹下面, 一般是C:\Windows
jd-jui: http://java.decompiler.free.fr/?q=jdgui
dex2jar : http://code.google.com/p/dex2jar/downloads/list
=================================================
部分内容摘自:
http://www.cnblogs.com/afirefly/archive/2011/10/12/2208461.html
一、工具准备:apktool , dex2jar , jd-gui
工具包也可以在这里下载。http://www.kuaipan.cn/index.php?ac=file&oid=3166172581218989
1、dex2jar下载,jd-gui下载。
2、apktool,可以去Google的官方下载,apktool-1.0.0.tar.bz2(里面有apktool.jar)和apktool-install-windows-2.1_r01-1.zip两个包都要下。解压 apktool.tar.bz2,把apktool.jar 放到 C:\Windows下,解压apktool-install-windows.zip到任意文件夹(例如E盘根目录或 C:\Windows )。
二、使用dex2jar + jd-gui 得到apk的java源码
步骤如下:
1、用.rar打开apk文档,将classes.dex文件解压出来,然后使用工具反编译成.jar文件。
在cmd下进入dex2jar.bat所在路径,然后输入命令:
dex2jar.bat XXX
,XXX指的是你要反编译的apk中的classes.dex文件所在路径及名称,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路径下, classes.dex在D:\Android下,所以: 你进入dex2jar.bat路径下后,输入dex2jar.bat D:\Android\classes.dex
,这样会生成一个jar文件(一般是:classes.dex.dex2jar.jar)。
2.用jd-gui反编译工具将得到.jar文件反编译成.java文件
三、使用apktool得到apk的xml文件
1、Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入命令:
apktool d XXX.apk ABC
反编译XXX.apk到文件夹ABC
2、 在解压后的文件夹中可以得到apk的xml配置文件
四、第二步得到的程序源代码和第三步得到的xml文件组合下,就成一个android工程,即可得到完整的apk源码。
=================================================
部分内容摘自: http://zhangyan1158.blog.51cto.com/2487362/683234
APKTool的使用
1.decode
该命令用于进行反编译apk文件,一般用法为
apktool d <file.apk> <dir>
<file.apk>代表了要反编译的apk文件的路径,最好写绝对路径,比如C:\MusicPlayer.apk
<dir>代表了反编译后的文件的存储位置,比如C:\MusicPlayer
如果你给定的<dir>已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令
apktool d –f <file.apk> <dir>
这样就会强行覆盖已经存在的文件
2.build
该命令用于编译修改好的文件,一般用法为
apktool b <dir>
这里的<dir>就是刚才你反编译时输入的<dir>(如C:\MusicPlayer),输入这行命令后,如果一切正常,你会发现C:\MusicPlayer内多了2个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。
3.install-framework
该命令用于为APKTool安装特定的framework-res.apk文件,以方便进行反编译一些与ROM相互依赖的APK文件。具体情况请看常见问题
==========================
jadclipse Decompiler.zip
jad158e.linux.intel.zip
jad158g.win.zip (
jad.exe
)
jadclipse.txt
jadclipse_3.1.0.jar
jadclipse_3.2.0.jar
net.sf.jadclipse_3.2.4.jar
net.sf.jadclipse_3.3.0.jar
分享到:
相关推荐
Apktool结合dex2jar工具,可以将DEX文件转换为Java字节码的JAR文件,进一步利用JD-GUI或JAD等工具进行源代码级别的分析。 在实际应用中,开发者可能用到Apktool和DEX来实现以下目的: 1. **本地化**:修改APK中的...
2. **反编译DEX**:APK中的`.dex`文件(Dalvik Executable)包含了Java字节码,apktool会使用dex2jar将这些字节码转换为可读的JAR文件,进一步使用JD-GUI或JAD进行反编译为Java源代码。 3. **解析资源**:apktool...
dex2jar可以将DEX转换为Java字节码的JAR文件,便于使用JD-GUI或JAD等工具进行进一步的Java代码分析。 3. **重新打包与签名**:完成资源修改后,Apktool可以将改动后的资源重新打包回APK,并进行签名,使其能够在...
它使用dex2jar工具将APK中的classes.dex转换为JAR文件,再利用JD-GUI或者JAD工具将Java字节码反编译成可读的Java源代码。 3. **框架重建** 反编译完成后,可以使用apktool重新构建APK。这包括编译修改后的源代码...
2. **反编译**:解包后的DEX文件通常包含Dalvik字节码,Apktool会使用dex2jar工具将其转换为Java字节码(JAR文件),然后使用JD-GUI或JAD等Java反编译器将字节码反编译为可读的Java源代码。对于资源文件,Apktool...
Dex2jar工具将Android应用的DEX文件转换为Java字节码的JAR文件,使得开发者可以用Java虚拟机(JVM)兼容的工具如JD-GUI或JAD来查看和分析类文件。这个过程对于理解APK的业务逻辑、函数调用和数据处理非常有帮助。 ...
6. **jad.exe**:Java反编译器,有时用于辅助Apktool进行反编译工作。 7. **apktool.ini**:配置文件,存储Apktool的设置和版本信息。 8. **apktool.jar**:Apktool的主要可执行文件,包含了所有的反编译和打包功能...
在给定的标题和描述中,提到了四款反编译工具:JAD、JadClipse、JD-GUI和CRF。以下是对这些工具的详细介绍: 1. **JAD**(Java Decompiler): JAD是一款开源的Java反编译器,它能够将Java字节码(.class文件)...
Apktool使用dex2jar将DEX文件转换为JAR格式,然后使用JD-GUI或JAD等工具将Java字节码反编译为可读的Java源代码。 3. **编译与打包:**在修改了APK的资源或代码后,Apktool能将它们重新打包并签名,生成一个新的APK...
2. **反编译**:ApkTool内置了dex2jar工具,可以将APK中的Dalvik字节码(.dex文件)转换为Java字节码(.class文件),然后使用JD-GUI或JAD等反编译器将Java字节码转换成可读的Java源代码。虽然反编译后的代码可能...
在Android系统中,应用的代码是以Dalvik Executable (DEX) 文件的形式存储的,而dex2jar可以帮助我们将这些DEX文件转换为Java类库,使得我们可以通过Java反编译器如JD-GUI或JAD来进一步查看和分析源代码。...
3. **转换源代码**:再使用JD-GUI或JAD等Java反编译器将JAR文件中的字节码反编译成Java源代码。 4. **解析资源**:同时,apktool解析并重组资源文件,如XML布局、字符串资源等,生成与原始结构类似的目录结构。 5. *...
在实际操作中,可能还需要其他辅助工具,如使用JAD(Java Decompiler)对JD-GUI无法正确反编译的部分进行补充,或者使用Android Asset Packaging Tool (AAPT)来处理资源文件。需要注意的是,反编译行为应遵守软件...
然后,它使用 Dex2jar 将DEX转换为JAR文件,再通过JD-GUI或JAD进行Java源代码级别的反编译。对于资源文件,Apktool能够保留其原始的XML结构,便于理解和修改。 2. **使用步骤** 使用Apktool通常涉及以下几个步骤...
在IT行业中,反编译是一种技术,用于将已编译的代码转换回源代码的形式,以便于理解、分析或修改。...在实际应用中,结合其他工具如dex2jar、Apktool等,可以构建更完整的安卓应用分析和调试环境。
2. **反编译.JAR**:使用Java反编译器,如JD-GUI或JAD,将.jar文件转换为Java源代码,虽然可能不完全准确,但仍然可以理解函数逻辑和类结构。 在使用这两款工具时,通常的步骤是: 1. 使用apktool对APK进行解包,...
2. **反编译**:使用dex2jar工具将Dalvik字节码转换为Java字节码,然后使用JD-GUI或JAD等反编译器将Java字节码转换为接近原始的Java源代码。 3. **编辑**:用户可以根据需求对反编译出的源代码和资源文件进行修改,...
本篇文章将详细介绍两个重要的反编译工具:dex2jar.bat和apktool.bat,以及相关的辅助工具,帮助你深入理解APK的内部结构。 1. **dex2jar.bat**: Dex2jar是一个用于将Dalvik Executable (.dex)文件转换为Java字节...