# arkdecompiler 鸿蒙 NEXT 反编译器

> 面向 HarmonyOS NEXT（纯血鸿蒙）应用的反编译器，发布于 jd-opensource GitHub 组织下，可将 Panda 二进制文件（.abc 方舟字节码）还原为 ArkTS 源码。其 xabc 程序解析字节码，将其提升为方舟编译器的 Panda IR 以便分析，再通过循环、类、词法环境和模块变量的重建生成 ArkTS 语法树，最后输出为 ArkTS 代码。跨平台图形界面可基于 Electron 或 Tauri 构建，提供文件浏览、函数与符号列表、交叉引用、搜索和十六进制视图；README 链接了 2025 年和 2026 年的 Black Hat Arsenal 展示。

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

## 使用条件与局限

- 审阅对象为 2026-07-23 的 master 提交。README 标注已支持全部指令并完成基础图形界面，而充分覆盖官方编译器和 test262 中的边界情况仍在进行中。v0.1.0 版（2026-04-23）附带 Linux x86、macOS arm64 和 Windows x86 的 Electron 与 Tauri 图形界面构建；反编译仅支持 Linux，反汇编三个平台均可，使用图形界面前需先配置命令行工具的路径。
- xabc 的构建在 Ubuntu 22.04 上测试，需置于 OpenHarmony 方舟编译器独立构建环境中：scripts/prepare.sh 会安装 repo 工具、从 Gitee 同步 ark-standalone-build 清单、下载其预编译工具，并切换到 OpenHarmony v6.0.0.1-Release；之后须将 patches/ 中的补丁应用到 arkcompiler 的 runtime_core、ets_frontend 以及 third_party/protobuf，再用 gn 和 ninja 构建 xabc。Dockerfile 则使用 Ubuntu 20.04 和 OpenHarmony 5.1.0 版本。
- xabc 读取一个 .abc 文件，输出 ArkTS 代码和 AST 转储，默认分别为 demo.abc 和 arkdemo.ts。文档中的流程是用 OpenHarmony 的 es2abc 编译用户自己的 demo.ts，再对结果反编译；其他字节码须来自用户自己的应用包，仓库不附带任何应用或 .abc 样例。
- tests/ 收录 18 个 TypeScript 样例，涵盖类、循环、生成器、异步函数和模块等特性。autotests/scantstests.py 会编译 test262 和 OpenHarmony TypeScript 子模块中的用例，记录反编译是否正常退出、失败、崩溃或超时，并用黑名单跳过部分用例。仓库未报告通过率或语义等价结果，也没有 CI 工作流。
- 采用 Apache-2.0 许可；其构建所依赖的 OpenHarmony 组件保留各自许可证。

## 一手来源

1. <https://github.com/jd-opensource/arkdecompiler/blob/8afb36903127b56edee362ce67aacd823610d3e4/README.md>
2. <https://github.com/jd-opensource/arkdecompiler/blob/8afb36903127b56edee362ce67aacd823610d3e4/xabc.cpp>
3. <https://github.com/jd-opensource/arkdecompiler/blob/8afb36903127b56edee362ce67aacd823610d3e4/scripts/prepare.sh>
4. <https://github.com/jd-opensource/arkdecompiler/tree/8afb36903127b56edee362ce67aacd823610d3e4/patches>
5. <https://github.com/jd-opensource/arkdecompiler/blob/8afb36903127b56edee362ce67aacd823610d3e4/docker/Dockerfile>
6. <https://github.com/jd-opensource/arkdecompiler/blob/8afb36903127b56edee362ce67aacd823610d3e4/build.sh>
7. <https://github.com/jd-opensource/arkdecompiler/tree/8afb36903127b56edee362ce67aacd823610d3e4/tests>
8. <https://github.com/jd-opensource/arkdecompiler/blob/8afb36903127b56edee362ce67aacd823610d3e4/autotests/scantstests.py>
9. <https://github.com/jd-opensource/arkdecompiler/tree/8afb36903127b56edee362ce67aacd823610d3e4/ui>
10. <https://github.com/jd-opensource/arkdecompiler/blob/8afb36903127b56edee362ce67aacd823610d3e4/LICENSE>
11. <https://github.com/jd-opensource/arkdecompiler/releases/tag/v0.1.0>

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

- [JNIAnalyzer Ghidra 扩展](https://awesomerea.org/zh/resources/jnianalyzer/index.md) · 工具
- [Android Reverse 设备端逆向套件](https://awesomerea.org/zh/resources/ultrasina-android-reverse/index.md) · 工具
- [jsc-decompile-mozjs-34 SpiderMonkey 字节码反编译器](https://awesomerea.org/zh/resources/jsc-decompile-mozjs-34/index.md) · 工具
- [Andromeda Android 应用交互式逆向工具](https://awesomerea.org/zh/resources/andromeda/index.md) · 工具
- [Dex-Editor-Android 设备端 DEX 编辑器](https://awesomerea.org/zh/resources/dex-editor-android/index.md) · 工具
- [smali/baksmali Dalvik dex 汇编与反汇编器](https://awesomerea.org/zh/resources/smali-baksmali/index.md) · 工具

## 关于此条目

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