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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 【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






目录
相关文章
|
6月前
|
Java Android开发
|
3月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
91 0
|
1月前
|
安全 网络安全 Android开发
深度解析:利用Universal Links与Android App Links实现无缝网页至应用跳转的安全考量
【10月更文挑战第2天】在移动互联网时代,用户经常需要从网页无缝跳转到移动应用中。这种跳转不仅需要提供流畅的用户体验,还要确保安全性。本文将深入探讨如何利用Universal Links(仅限于iOS)和Android App Links技术实现这一目标,并分析其安全性。
234 0
|
3月前
|
API 开发工具 Android开发
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在Android Studio中解决AOSP自编译framework.jar引用问题的几种方法,包括使用相对路径、绝对路径和通过`${project.rootDir}`动态获取路径的方法,以避免硬编码路径带来的配置问题。
242 0
Android Studio:解决AOSP自编译framework.jar引用不到的问题
|
4月前
|
存储 安全 数据安全/隐私保护
🔎Android安全攻防实战!守护你的应用数据安全,让用户放心使用!🛡️
【7月更文挑战第28天】在移动应用盛行的时代,确保Android应用安全性至关重要。本文以问答形式探讨了主要安全威胁(如逆向工程、数据窃取)及其对策。建议使用代码混淆、签名验证、数据加密等技术来增强应用保护。此外,还推荐了加密API、HTTPS通信、代码审计等措施来进一步加强安全性。综上所述,全面的安全策略对于构建安全可靠的应用环境必不可少。#Android #应用安全 #代码混淆 #数据加密
76 3
|
4月前
|
存储 安全 Android开发
安卓应用开发的安全之道
【7月更文挑战第4天】在数字时代,移动应用的安全性至关重要。本文将深入探讨在安卓平台上开发安全应用的最佳实践,包括代码混淆、数据存储加密、网络通信安全、权限管理以及定期的安全审计和更新策略。通过这些措施,开发者可以显著提高他们的应用抵御恶意攻击的能力,保护用户数据免受侵害。
|
5月前
|
安全 网络协议 网络安全
程序与技术分享:Android应用安全之数据传输安全
程序与技术分享:Android应用安全之数据传输安全
|
6月前
|
Java Android开发
Android编译的jar里面是dex
Android编译的jar里面是dex
72 0
|
6月前
|
数据可视化 Java Android开发
Android 反编译资料整理
Android 反编译资料整理
45 0
|
6月前
|
Java Android开发
Android module 打包成aar或jar
Android module 打包成aar或jar
237 0