【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )(一)

文章目录

一、apktool

1、apktool 简介

2、直接解压

3、使用 apktool 反编译

4、使用 apktool 重新打包

二、dex2jar

1、dex2jar 简介

2、dex2jar 反编译命令

三、enjarify

1、enjarify 简介

2、enjarify 命令

四、jd-gui

五、jadx



学习 Android 安全 , 首先要了解常用的破解 Android 应用的方式 , 本篇博客中简单介绍了破解 Android 应用的 5 55 种常用工具 , apktool , dex2jar , enjarify , jd-gui , jadx ;


整理后的 5 55 种反编译工具 : https://download.csdn.net/download/han1202012/13097008 , 该链接只用于记录 , 博客中有官方网站的下载地址 , 可以一一下载 ;


【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )(一)






一、apktool




1、apktool 简介


官网地址 : https://ibotpeaches.github.io/Apktool/


文档地址 : https://ibotpeaches.github.io/Apktool/documentation/


当前最新版本是 2.4.1 ;



apktool 常用于反编译 Android 中的资源文件 , 主要是 获取 AndroidManifest.xml , res 目录下的图片 , 布局 , style 风格配置 , 等 资源文件 ;


Android 应用打包时 , 会使用 aapt 对工程中的资源文件进行编译 , 一般情况下将 apk 打开以后 , 都是编译后的资源文件 , 这些文件基本不可读 , 无法理解 ;


apktool 工具可以将 Android 项目中编译后的 资源文件反编译 出来 ;



反编译命令 :


java -jar apktool_2.4.1.jar d demo.apk -o demo


重新打包命令 :


java -jar apktool_2.4.1.jar b demo -o demo_repackage.apk




2、直接解压


将 apk 直接解压 ,


【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )(一)



查看其中的 AndroidManifest.xml 文件 , 是无规则的乱码 , 这是被 aapt 编译后的资源文件 , 无法查看 ;


【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )(一)




3、使用 apktool 反编译


执行 java -jar apktool_2.4.1.jar d demo.apk -o demo 命令 ,


java -jar apktool_2.4.1.jar d demo.apk -o demo


其中 d 后面是 要反编译的 apk 文件 ,


-o demo 的含义是 将反编译结果输出到 demo 目录中 ;


反编译过程 :

【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )(一)



查看其中的 AndroidManifest.xml 文件 , 可以看到真实的文件内容 ;


【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )(一)




4、使用 apktool 重新打包


将反编译后的文件 重新打包 ;


java -jar apktool_2.4.1.jar b demo -o demo_repackage.apk


b demo 是指定 要打包 demo 目录 ;


-o demo_repackage.apk 是指定新打包的 应用安装文件是 demo_repackage.apk ;


重新打包过程 :

【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )(一)







二、dex2jar




1、dex2jar 简介


官方网站 : https://sourceforge.net/projects/dex2jar/


GitHub 地址 : https://github.com/pxb1988/dex2jar


下载地址 : https://sourceforge.net/projects/dex2jar/files/



dex2jar 的作用是 将 dex 文件反编译成 jar 文件 ;


在 Android 反编译中就是将 classes.dex 反编译成 jar 文件 ;




2、dex2jar 反编译命令


反编译命令 : demo.apk 是指定要反编译的 apk 文件 , -o demo.jar 指定要输出的 jar 文件路径 ;


d2j-dex2jar.bat demo.apk -o demo.jar


反编译结果 : 在目录中生成了 demo.jar 文件 ;

【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )(一)






上一篇:边缘计算:是流行词还是未来?


下一篇:CentOS 下安装 PAC Manager 进行远程管理