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)放在同一个文件夹中;
2.2,把apk文件的后缀改成.zip;用解压缩工具打开apk变更后的.zip文件如下图
2.3,把解压获取classes.dex文件,复制到dex-tools-2.1-SNAPSHOT文件夹下;
2.4,按住shift 鼠标点击右键空白处 选择“在此处打开命令行”选项,进入cmd命令行窗口
2.5, 在上图命令行窗口输入 d2j-dex2jar classes.dex 命令
2.6, 在dex-tools-2.1-SNAPSHOT文件下即可的到classes-dex2jar.jar文件
2.7 使用jd-gui打开classes-dex2jar.jar就可以看到源代码了
三,apk反编译获取资源文件
3.1,为了方便,把工具(apktool.jar)和apk文件放在一个文件夹中;
3.2, 按住shift 鼠标点击右键空白处 选择“在此处打开命令行”选项,进入cmd命令行窗口
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 serialI: Using Apktool 2.3.4 on Serial.apkI: 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 unavailableI: Loading resource table from file: C:\Users\Administrator\AppData\Local\Temp\1.apkI: 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文件夹即可看到我们想要的资源文件夹和清单文件了;
四,反编译apk获取资源文件方式二
反编译apk获取资源文件方式二,即解包:
4.1,前几步和方式一相同,命令行执行:
apktool.bat d -f C:\Users\Administrator\Desktop\ResDecompile\Serial.apk -o Serial2
4.2,在ResDecopmile文件夹下自动生成了Serial2文件夹,得到的资源文件和serial里面的一样,如下图;
4.2,apktool.bat文件内容:
@echo offif "%PATH_BASE%" == "" set PATH_BASE=%PATH%set PATH=%CD%;%PATH_BASE%;chcp 65001 2>nul >nuljava -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0\apktool_2.3.4.jar" %*
附
所有工具地址链接: https://pan.baidu.com/s/1EIV4eH8jTndCYo2trD6Zqw 提取码: evzs
更多相关文章
- Android的Apk打包流程
- Android(安卓)Resource 怎样加载资源文件(3)
- 在android 2.3 AVD 模拟器上安装 google market 安卓市场
- Android之WebView和js交互-调用失败的看这里
- Android(安卓)8.0以后获取SSID为的解决方式
- Android(安卓)5.0之后如何获取topStack
- bonnie++、dbench、iozone在android上的移植
- Android(安卓)Studio离线配置
- android hasSystemFeature函数及系统特性配置