Android APK+Dex文件反编译及回编译工具的使用说明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android APK+Dex文件反编译及回编译工具的使用说明相关的知识,希望对你有一定的参考价值。

参考技术A


本工具执行安装后,直接在【鼠标右键】生成快捷键,自动关联APK、DEX、Odex、Zip等文件。只要在电脑任意“非分区根目录”,【鼠标右键】点击相关文件,即可编译操作。如,反编译APK及DEX文件,反编译后生成可编译的同名文件夹,汉化修改完成后,对文件夹点击【鼠标右键】根据文件夹反编译前的文件类型,现在【使用 APKDB编译】即可!
同时,针对apk和zip文件增加签名操作,只要【鼠标右键】点击,选择【使用 APKDB编译】选择【[S]签名APK文件】即可!签名前无需删除原来的【META-INF】签名数据。本工具会判别apk还是zip并自动删除签名数据。

android 反编译apk

 apktool——可以反编译软件的布局文件、图片等资源,方便大家学习一些很好的布局;

dex2jar——将apk反编译成java源码(classes.dex转化成jar文件);

jd-gui——查看APK中classes.dex转化成出的jar文件,即源码文件。

1、apktool文件的下载

apktool是反编译Android apk文件的工具,apktool的主页是https://ibotpeaches.github.io/Apktool/;我们可以从这里找到最新版本的apktool.jar文件https://bitbucket.org/iBotPeaches/apktool/downloads/,以及apktool的安装说明。

 技术图片

 

 

2、apktool的安装

前面我们已经下载了最新的apktool.jar文件,最新版本是2.3.1,请按照以下步骤操作,参考https://ibotpeaches.github.io/Apktool/install/:

 技术图片

 

 

    新建文本文件,将下面的脚本复制到文本并保存,然后重命名为apktool.bat;

  

    @echo off

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

    set PATH=%CD%;%PATH_BASE%;

    chcp 65001 2>nul >nul

    java -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0\\apktool.jar" %*

     从上面脚本中也可以看到是用apktool.jar文件去处理;

    将下载的apktool_2.3.1.jar文件重命名为apktool.jar;

3、使用apktool反编译apk

    将上述两个文件apktool.bat和apktool.jar文件放到同一文件夹下(任意路径),打开命令窗口(win+R-->cmd-->enter);定位到apktool所在的文件夹;输入以下命令:

>apktool.bat d -f  .apk  objectFolderPath 

其中,objectFolderPath为可选项,如果此项不存在,软件将会在apktool文件夹下新建一个apk文件名的文件夹,否则存储到目标文件夹;

 

 技术图片

 

技术图片

 

 

4使用dex2jar反编译apk得到Java源代码

将test.apk解压将其中的classes.dex文件放到dex2jar-2.0 目录下

 技术图片

 

 

5.dos命令定位到dex2jar.bat所在目录,输入"d2j-dex2jar classes.dex",效果如下:

d2j-dex2jar.bat classes.dex

 技术图片

 

 

6使用【jd-gui】工具将class文件反编译成java源代码

双击jd-gui.exe 将classes-dex2jar.jar 拖入jd-gui.exe即可

 技术图片

 原作者:https://www.cnblogs.com/pythoncd/p/10367144.html

 

以上是关于Android APK+Dex文件反编译及回编译工具的使用说明的主要内容,如果未能解决你的问题,请参考以下文章

如何反编译 android 中 /data/dalvik-cache/arm 下的文件

如何反编译android应用并重新打包

Android 将 apk 反编译为源码

Android APK反编译

android 反编译apk

android反编译怎么看资源文件