Android 反编译APK详解

目录

一,所需工具

二,Apk反编译获取源码

三,apk反编译获取资源文件

四,反编译apk获取资源文件方式二


一,所需工具

    apktool (资源文件获取)  下载路径:https://ibotpeaches.github.io/Apktool/ 或者https://bitbucket.org/iBotPeaches/apktool/downloads/

    dex2jar(源码文件获取)  下载路径:https://github.com/pxb1988/dex2jar/releases

    jd-gui  (源码查看)  下载路径:http://java-decompiler.github.io/或者 https://code.google.com/archive/p/innlab/downloads

二,Apk反编译获取源码

2.1, 为了方便,把两个工具(dex2jar和jd-gui)放在同一个文件夹中;

Android 反编译APK详解_第1张图片

2.2,把apk文件的后缀改成.zip;用解压缩工具打开apk变更后的.zip文件如下图

Android 反编译APK详解_第2张图片

2.3,把解压获取classes.dex文件,复制到dex-tools-2.1-SNAPSHOT文件夹下;

Android 反编译APK详解_第3张图片

2.4,按住shift 鼠标点击右键空白处 选择“在此处打开命令行”选项,进入cmd命令行窗口

Android 反编译APK详解_第4张图片

Android 反编译APK详解_第5张图片

2.5, 在上图命令行窗口输入 d2j-dex2jar classes.dex 命令

Android 反编译APK详解_第6张图片

2.6, 在dex-tools-2.1-SNAPSHOT文件下即可的到classes-dex2jar.jar文件

Android 反编译APK详解_第7张图片

2.7 使用jd-gui打开classes-dex2jar.jar就可以看到源代码了

Android 反编译APK详解_第8张图片

三,apk反编译获取资源文件

3.1,为了方便,把工具(apktool.jar)和apk文件放在一个文件夹中;

Android 反编译APK详解_第9张图片

3.2, 按住shift 鼠标点击右键空白处 选择“在此处打开命令行”选项,进入cmd命令行窗口

Android 反编译APK详解_第10张图片

3.3,命令行输入:

java -jar apktool_2.3.4.jar d -f C:\Users\Administrator\Desktop\ResDecompile\Serial.apk -o serial

命令运行显示信息 :

C:\Users\Administrator\Desktop\ResDecompile>java -jar apktool_2.3.4.jar d -f C:\Users\Administrator\Desktop\ResDecompile\Serial.apk -o serial
I: Using Apktool 2.3.4 on Serial.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
S: WARNING: Could not write to (C:\Users\Administrator\AppData\Local\apktool\framework), using C:\Users\Administrator\AppData\Local\Temp\ instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
I: Loading resource table from file: C:\Users\Administrator\AppData\Local\Temp\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...

C:\Users\Administrator\Desktop\ResDecompile>

 3.4,在ResDecopmile文件夹下自动生成了serial文件夹,既是反编译后生成的文件夹;打开serial文件夹即可看到我们想要的资源文件夹和清单文件了;

Android 反编译APK详解_第11张图片

Android 反编译APK详解_第12张图片

四,反编译apk获取资源文件方式二

反编译apk获取资源文件方式二,即解包:

4.1,前几步和方式一相同,命令行执行:

apktool.bat d -f C:\Users\Administrator\Desktop\ResDecompile\Serial.apk -o Serial2

Android 反编译APK详解_第13张图片

4.2,在ResDecopmile文件夹下自动生成了Serial2文件夹,得到的资源文件和serial里面的一样,如下图;

 Android 反编译APK详解_第14张图片

Android 反编译APK详解_第15张图片

4.2,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_2.3.4.jar" %*

所有工具地址链接: https://pan.baidu.com/s/1EIV4eH8jTndCYo2trD6Zqw  提取码: evzs 

你可能感兴趣的:(Android)