Krainium/DarkDex

GitHub: Krainium/DarkDex

DarkDex 是一款 Android 应用脱壳工具,通过读取运行时进程内存来提取被加壳保护的真实 dex 文件。

Stars: 0 | Forks: 0

# 🟣 DarkDex 🧬 DarkDex 用于从加壳的 Android 应用中提取真实的 dex。它通过读取运行中的应用内存来重建 dex,即使文件头被擦除也能正常工作。因此它支持爱加密(ijiami)(包括第四代 vmp)、其他加壳工具以及普通应用。 它包含两部分。 🖥️ darkdex.sh 运行在 redroid 宿主机上。它从 Android 沙箱外部读取目标进程的内存,因此应用内部无法检测到它的存在。 📱 darkdex.apk 运行在手机或模拟器上。root 模式会进行完整的内存转储。非 root 模式则会提取磁盘上的 dex。 ## 📥 设置 克隆项目 ``` git clone https://github.com/Krainium/DarkDex.git cd DarkDex ``` ### 🖥️ 宿主机工具 (darkdex.sh) 你需要一台运行 redroid 的 Linux 宿主机,redroid 就是在 Docker 中运行的 Android。请使用 arm64 镜像以便运行 arm 应用。宿主机内核需要 binder 模块。 在宿主机上加载 binder ``` sudo modprobe binder_linux devices="binder,hwbinder,vndbinder" ``` 启动 redroid 并连接 adb ``` docker run -itd --privileged --name redroid \ -v ~/redroid_data:/data -p 5555:5555 \ redroid/redroid:11.0.0 \ androidboot.redroid_width=720 androidboot.redroid_height=1280 adb connect localhost:5555 ``` 在宿主机上构建 native 核心 ``` cd native g++ -O2 -std=c++17 -o darkdex_carve darkdex_carve.cpp g++ -O2 -std=c++17 -o darkdex_recover darkdex_recover.cpp g++ -O2 -std=c++17 -o darkdex_intel darkdex_intel.cpp cd .. ``` 运行它。传入一个 apk,它会自动为你安装;或者传入一个已安装的包名。 ``` ./host/darkdex.sh app.apk ./host/darkdex.sh com.some.app ``` 转储文件会保存在 dumps// 目录下,其中包含提取的 dex、恢复的 dex,以及一个情报文件(intel file),里面记录了后端 URL、类映射(class map)和加壳工具 ID(packer id)。 ### 📱 应用程序 (darkdex.apk) 从发布页面获取 apk 并安装 ``` adb install -r -g darkdex.apk ``` 或者自行构建 ``` cd app ./gradlew :app:assembleDebug adb install -r -g app/build/outputs/apk/debug/app-debug.apk ``` 打开 DarkDex,从列表中选择一个应用,它就会开始转储。在已 root 的设备或模拟器上,徽章会变绿,你将获得完整的内存转储。如果没有 root,它会提取磁盘上的 dex。此外还有一个搜索框和一个强制非 root 模式的开关。 ## 🔧 工作原理 完整的分析文档位于 ijiami.md 中。 ## 📸 截图 ✨ 启动画面 ![启动画面](https://static.pigsec.cn/wp-content/uploads/repos/cas/6f/6f40052f30ef95fe36514b0b60ed7d2b4dd624fcef8403d42d78af7d0afda093.png) 📲 带 root 徽章、搜索框和开关的应用界面 ![应用界面](https://static.pigsec.cn/wp-content/uploads/repos/cas/8e/8efcb5e82f2108137826b079fbad0b2f122dd53e21a9a4f9949e5a5eacdaa7b3.png) 🧩 带模式徽章的转储结果 ![转储结果](https://static.pigsec.cn/wp-content/uploads/repos/cas/00/009ece6ec826de4a6a192a3d791e926f556703263351a4b54eca5eeb601792c9.png) 💻 在终端中运行的转储过程 ![终端](https://static.pigsec.cn/wp-content/uploads/repos/cas/ed/edeace98f35bc7b490bebfd37a69c515a96c716d20da974643df9bd8551dc3d5.png) ## 🎓 仅供学习使用 请仅对你拥有或已获授权测试的应用使用此工具。仅供研究和学习之用。
标签:Cutter, DEX, 主机友好, 云资产清单, 内存提取, 后台面板检测, 安卓, 脱壳, 请求拦截, 逆向工程