# vdexExtractor Vdex 字节码提取工具

> C 语言命令行工具，用于从 ART 的 dex2oat 编译器自 Android 8.0（API 26）起在 Oat 文件旁生成的 Vdex 容器中提取 Dex 字节码，并默认撤销 ART 的 dex-to-dex quickening 优化，使输出重新成为普通 Dex。它还能转储 Vdex 文件中保存的验证依赖记录，以类似 dexdump 的格式反汇编字节码，并报告某个 Vdex 版本对应的 Android API 级别。Android 9 和 10 的 Vdex 文件存放的是 CompactDex，随附的 deodex 辅助脚本会借助单独构建的 compact_dex_converter 将其转换回标准 Dex。

- 类型：工具
- 目标：应用
- 类别：Android 工具
- 关联：基础工具
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/anestisb/vdexExtractor>
- 一手来源：<https://github.com/anestisb/vdexExtractor/blob/78f283b60ab6991fa27eeaff7d7be16409401c08/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/vdexextractor/>
- 记录 JSON：<https://awesomerea.org/resources/vdexextractor/record.json>
- 英文版：[English](https://awesomerea.org/resources/vdexextractor/index.md)

## 使用条件与局限

- 项目已不再活跃：最后一个标签是 0.6.0（2019-12-30），没有 GitHub 发布版，所审阅的 master 提交（2020-05-13）比该标签多七个提交。后端支持 Vdex 006、010、019 和 021 版本，README 和更新日志将其对应到 Android 8（Oreo）至 Android 10（Q）；更新的 Vdex 版本没有对应后端。
- 使用 make.sh 构建，可在 Linux 或 macOS 上选用 gcc（默认）或 clang，Windows 上可在 Cygwin 下构建；需要 zlib 开发文件，cross-android 目标借助 Android NDK 的 ndk-build 生成 armeabi-v7a、arm64-v8a、x86 和 x86_64 可执行文件。二进制输出到 bin/ 目录；仓库未提交任何预编译的可执行文件。
- 输入为使用者从自己的设备或系统镜像中取得的 Vdex 文件或其所在目录；scripts/extract-apps-from-device.sh 可通过 ADB 拉取已安装应用的 oat、art 和 vdex 产物，并可选拉取 APK，部分系统应用数据需要 root 权限。tools/deodex/run.sh 需要 wget、shasum 和 unzip，会从 OneDrive 下载作者预编译的 compact_dex_converter 压缩包并校验 SHA-256；API 29 版转换器仅有 Linux 版本，转换器源码本身只能作为 AOSP 模块构建。
- 采用 Apache-2.0 许可（版权归 CENSUS S.A.）。README 提到，等效的 unquickening 功能已贡献给 AOSP 的 oatdump。恢复出的 Dex 代码仍受应用或系统镜像权利人的权利约束。

## 一手来源

1. <https://github.com/anestisb/vdexExtractor/blob/78f283b60ab6991fa27eeaff7d7be16409401c08/README.md>
2. <https://github.com/anestisb/vdexExtractor/blob/78f283b60ab6991fa27eeaff7d7be16409401c08/README.md#L239-L349>
3. <https://github.com/anestisb/vdexExtractor/blob/78f283b60ab6991fa27eeaff7d7be16409401c08/README.md#L350-L422>
4. <https://github.com/anestisb/vdexExtractor/blob/78f283b60ab6991fa27eeaff7d7be16409401c08/make.sh>
5. <https://github.com/anestisb/vdexExtractor/tree/78f283b60ab6991fa27eeaff7d7be16409401c08/src/vdex>
6. <https://github.com/anestisb/vdexExtractor/blob/78f283b60ab6991fa27eeaff7d7be16409401c08/scripts/extract-apps-from-device.sh>
7. <https://github.com/anestisb/vdexExtractor/blob/78f283b60ab6991fa27eeaff7d7be16409401c08/tools/deodex/run.sh>
8. <https://github.com/anestisb/vdexExtractor/blob/78f283b60ab6991fa27eeaff7d7be16409401c08/tools/deodex/constants.sh>
9. <https://github.com/anestisb/vdexExtractor/blob/78f283b60ab6991fa27eeaff7d7be16409401c08/LICENSE>
10. <https://github.com/anestisb/vdexExtractor/commit/5f36debb03fccbb245af60129b1f94d369d7544c>

## 同分区更多条目：应用

- [Garlic APK/Java 反编译器](https://awesomerea.org/zh/resources/garlic-decompiler/index.md) · 工具
- [Android-Disassembler 安卓端反汇编应用](https://awesomerea.org/zh/resources/android-disassembler/index.md) · 工具
- [XAPKDetector APK/DEX 检测工具](https://awesomerea.org/zh/resources/xapkdetector/index.md) · 工具
- [Jsxer JSXBIN 反编译器](https://awesomerea.org/zh/resources/jsxer/index.md) · 工具
- [jni_helper JNI 函数签名提取工具](https://awesomerea.org/zh/resources/jni-helper/index.md) · 工具
- [ReArk 鸿蒙与移动应用逆向分析工作台](https://awesomerea.org/zh/resources/reark/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
