工具

abc-decompiler 鸿蒙方舟字节码反编译器

面向鸿蒙方舟字节码(.abc)的反编译工具;HarmonyOS 应用包中的 modules.abc 即为此格式。它通过改造 jadx 反编译器实现,并借助打过补丁的 abcde 库读取文件。由于方舟字节码有很大一部分与 DEX 字节码语义相近,它沿用了 jadx 的图形界面、中间表示和处理流程:把 .abc 文件拖入基于 jadx 的窗口即可查看反编译代码。README 称 282 条方舟字节码中可用的 227 条指令均已实现,其中大部分特殊指令以伪函数形式实现。

使用条件与局限

  • README 称项目仍在开发中:用于改善代码可读性的反编译优化模块、定制中间表示以及数据流分析均列为尚未完成。唯一的发布版本 h1 于 2024-12-20 发布,只提供一个由所审阅 master 分支提交构建的 jadx-dev-all.jar,此后仓库再无推送。
  • 构建需要 JDK 17+;须先将打过补丁的 abcde 分支发布到本地 Maven 仓库,并在 Gradle 文件中替换为实际版本号,再执行 ./gradlew dist。输入为用户自己 HarmonyOS HAP 包中的 modules.abc 文件。
  • 该仓库是改造过的 jadx 代码库:jadx 原有的 DEX 输入、测试样本和继承来的 CI 文件仍保留,自身没有 GitHub Actions 工作流,因此未报告针对方舟字节码输出的测试。
  • 沿用 jadx 的 Apache-2.0 许可;abcde 分支同样采用 Apache-2.0。本次未反编译任何文件。

关于此条目

类型
工具
类别
Android 工具
关联
基础工具
目标
应用

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · ohos-decompiler/abc-decompiler · 修订 427c4cd
  2. README.md#L16-L28 GitHub · ohos-decompiler/abc-decompiler · 修订 427c4cd
  3. README.md#L38-L70 GitHub · ohos-decompiler/abc-decompiler · 修订 427c4cd
  4. jadx-core/src/main/java/jadx/core/dex/instructions/InsnDecoder.java GitHub · ohos-decompiler/abc-decompiler · 修订 427c4cd
  5. jadx-core/build.gradle.kts GitHub · ohos-decompiler/abc-decompiler · 修订 427c4cd
  6. LICENSE GitHub · ohos-decompiler/abc-decompiler · 修订 427c4cd
  7. https://github.com/ohos-decompiler/abc-decompiler/releases/tag/h1
  8. https://github.com/ohos-decompiler/abcde
  9. https://github.com/ohos-decompiler/abc-decompiler/issues/6

同分区更多条目:应用

应用分区全部 87 项资源