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

简介: 【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 , 该链接只用于记录 , 博客中有官方网站的下载地址 , 可以一一下载 ;


image.png






一、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 直接解压 ,


image.png



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


image.png




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 目录中 ;


反编译过程 :

image.png



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


image.png




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 ;


重新打包过程 :

image.png







二、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 文件 ;

image.png






目录
相关文章
|
7月前
|
人工智能 安全 API
这款流行 AI 工具被盗用挖取加密货币,这些隐患你需要知道
Docker 镜像被注入挖矿脚本并不是个别现象,而是一个需要引起重视的安全问题,本文向大家分享下 Higress 防范此类风险的相关经验。
192 84
|
4月前
|
数据采集 监控 API
加密货币 Pump 监测刮刀工具开发原理及实现路径
开发Pump监测刮刀工具需综合运用高频数据采集、波动率建模、跨平台对冲三大核心技术,2025年的技术瓶颈已从基础数据获取转向超低延迟执行与合规适配。建议采用模块化开发策略,优先实现核心监控功能,再逐步接入AI决策与链上套利模块。代码示例需根据最新交易所API文档动态调整,并严格遵守所在地监管法规。
|
存储 安全 数据安全/隐私保护
打造安全防线!Python AES&RSA加密工具,黑客绕道走的秘籍
【9月更文挑战第9天】随着数字化时代的到来,信息安全问题日益凸显。本文将介绍如何使用Python结合AES与RSA两种加密算法,构建强大的加密工具。AES以其高效性和强安全性著称,适用于大量数据的快速加密;RSA作为非对称加密算法,在加密小量数据及实现数字签名方面表现卓越。通过整合两者,可以构建既安全又灵活的加密系统。首先,需要安装pycryptodome库。接着,实现AES加密与解密功能,最后利用RSA加密AES密钥,确保其安全传输。这种设计不仅提高了数据传输效率,还增强了密钥交换的安全性,为敏感数据提供坚实保护。
378 43
|
7月前
|
人工智能 安全 API
这款流行 AI 工具被盗用挖取加密货币,这些隐患你需要知道
这款流行 AI 工具被盗用挖取加密货币,这些隐患你需要知道
|
7月前
|
算法 安全 Java
即时通讯安全篇(一):正确地理解和使用Android端加密算法
本文主要讨论针对Android这样的移动端应用开发时,如何正确的理解目前常用的加密算法,为诸如即时通讯应用的实战开发,如何在合适的场景下选择适合的算法,提供一些参考。
175 0
|
9月前
|
存储 安全 Android开发
探索Android系统的最新安全特性
在数字时代,智能手机已成为我们生活中不可或缺的一部分。随着技术的不断进步,手机操作系统的安全性也越来越受到重视。本文将深入探讨Android系统最新的安全特性,包括其设计理念、实施方式以及对用户的影响。通过分析这些安全措施如何保护用户免受恶意软件和网络攻击的威胁,我们希望为读者提供对Android安全性的全面了解。
|
11月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
1857 2
|
安全 Java 数据安全/隐私保护
- 代码加密混淆工具-Java 编程安全性
在Java编程领域,保护代码安全与知识产权至关重要。本文探讨了代码加密混淆工具的重要性,并介绍了五款流行工具:ProGuard、DexGuard、Jscrambler、DashO 和 Ipa Guard。这些工具通过压缩、优化、混淆和加密等手段,提升代码安全性,保护知识产权。ProGuard 是开源工具,用于压缩和混淆Java代码;DexGuard 专为Android应用程序设计,提供强大加密功能;Jscrambler 基于云,保护Web和移动应用的JavaScript及HTML5代码;DashO 支持多种Java平台和
452 1
|
11月前
|
安全 网络安全 Android开发
深度解析:利用Universal Links与Android App Links实现无缝网页至应用跳转的安全考量
【10月更文挑战第2天】在移动互联网时代,用户经常需要从网页无缝跳转到移动应用中。这种跳转不仅需要提供流畅的用户体验,还要确保安全性。本文将深入探讨如何利用Universal Links(仅限于iOS)和Android App Links技术实现这一目标,并分析其安全性。
1326 0
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点讲解了如何使用 Kotlin 实现 AES-256 的加密和解密,并提供了详细的代码示例。通过生成密钥、加密和解密数据等步骤,展示了如何在 Kotlin 项目中实现数据的安全加密。
577 1