反编译apk初试 2021-10-21 杂项 暂无评论 398 次阅读 ## 反编译apk初试  #### 要准备的三个工具 - Apktool 反编译 获取xml 文件、 dex 文件和图片等一些资源文件,并可以将编译后的项目重新打包成 apk。 官方下载地址: [Apktool](https://ibotpeaches.github.io/Apktool/install/) - dex2jar 将 classes.dex 转换为「.jar」文件) 官方下载地址: [dex2jar](https://sourceforge.net/projects/dex2jar/files/) - jd-gui 查看「.jar」文件 官方下载地址: [jd-gui](http://java-decompiler.github.io/) ##### windows安装Apktool 下载界面上有说明  cmd输入`apktool`  显示如上表明安装成功 ##### 安装dex2jar和jd-gui 下载解压即可 #### 具体步骤 ##### 1、使用apktool反编译APK获得图片与XML资源 - cd 到 apk 的目录下 - 输入 ```powershell apktool d study.apk ```   运行完成后,得到一个包含资源文件和代码的文件夹  **注意:** 此时 dex 文件直接反编译成了 **smali** 文件,而我们需要的是 .dex 文件。 此时再运行: ```powershell apktool d -s -f study.apk ``` -d 反编译 apk 文件 -s 不反编译 dex 文件,而是将其保留 -f 如果目标文件夹存在,则删除后重新反编译  此时得到这样的文件夹:  ##### 2、使用dex2jar将classes.dex转换成jar文件 - 将上一步得到的 **classes.dex** 文件复制到 dex2jar 解压好的目录中 - 在该目录下打开命令行运行: ```powershell .\d2j-dex2jar.bat classes.dex ```   接着我们可以看到,生成了一个jar包:  ##### 3、使用jd-gui查看jar包中的Java代码 运行解压后jd-gui文件夹下的jd-gui.exe,打开转换后的jar包  #### 参考文献 [https://www.zhihu.com/question/29370382](https://www.zhihu.com/question/29370382) [https://www.runoob.com/w3cnote/android-tutorial-decompile-apk-get-code-resources.html](https://www.runoob.com/w3cnote/android-tutorial-decompile-apk-get-code-resources.html) 标签: none 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。