> 技术文档 > ABCDE OpenHarmony逆向工具包技术文档

ABCDE OpenHarmony逆向工具包技术文档


ABCDE OpenHarmony逆向工具包技术文档

【免费下载链接】OpenHarmony字节码分析工具 支持解析方舟字节码文件中类信息、方法信息、字面量数组信息、方法进行反汇编以及解析资源索引文件等功能。 【免费下载链接】OpenHarmony字节码分析工具 项目地址: https://gitcode.com/OpenHarmonyToolkitsPlaza/ABCDE

1. 项目概述

ABCDE是一款基于Kotlin开发的OpenHarmony逆向工具包,主要功能包括解析方舟字节码文件(.abc)中的类信息、方法信息、字面量数组信息,对方法进行反汇编,以及解析资源索引文件等。该工具核心功能由纯Kotlin(JVM)实现,可提供平台无关的jar包供Java工程引用并进行二次开发。

2. 安装指南

2.1 环境需求

  • JDK 17及以上版本

2.2 构建方式

2.2.1 从源码构建
./gradlew :abcdecoder:packageReleaseUberJarForCurrentOS

构建完成后,生成的UberJar文件位于abcdecoder/build/libs/目录下。

2.2.2 直接下载

可从项目的GitHub Actions页面下载最新构建的预编译版本。

3. 项目使用说明

3.1 图形界面使用

  1. 主界面:支持拖入或点击打开.abc、.hap、.index等文件
  2. HAP文件查看
    • 以树形结构展示HAP包内容
    • 可点击打开其中的abc和index文件
    • 右侧展示解析成功的HAP包信息
  3. 资源索引查看
    • 支持按类型区分资源
    • 提供名称+内容的查找功能
  4. ABC文件查看
    • 树形结构展示字节码文件中的类信息
    • 支持按名称查找
    • 左侧信息页签可查看字节码版本、校验和等信息
  5. 类信息和字节码查看
    • 查看类的字段和方法
    • 支持简单索引
    • 左侧信息页签显示类的导入导出信息
  6. 反编译功能(实验性)
    • 将部分方舟字节码反编译为JS代码
    • 目前存在一定局限性(见注意事项)

3.2 命令行使用

3.2.1 解析ABC文件中的类列表
java -jar /path/to/abcdecoder.jar --cli --dump-class /path/to/module.abc [--out=out.txt]
3.2.2 解析资源索引文件内容
java -jar /path/to/abcdecoder.jar --cli --dump-index /path/to/resources.index [--out=out.json]

4. API使用文档

4.1 核心功能API

ABCDE工具包提供以下核心API接口:

  1. ABC文件解析

    • AbcFileParser: 解析方舟字节码文件
    • ClassInfo: 获取类信息
    • MethodInfo: 获取方法信息
  2. 资源索引解析

    • ResourceIndexParser: 解析资源索引文件
    • ResourceEntry: 资源条目信息
  3. 反汇编功能

    • BytecodeDisassembler: 字节码反汇编器
    • DisassemblyResult: 反汇编结果

4.2 API使用示例

// 解析ABC文件val abcFile = AbcFileParser.parse(File(\"module.abc\"))val classList = abcFile.classes// 解析资源索引val indexFile = ResourceIndexParser.parse(File(\"resources.index\"))val resources = indexFile.resources// 反汇编方法字节码val method = classList[0].methods[0]val disassembled = BytecodeDisassembler.disassemble(method)

5. 项目安装方式

5.1 作为库引入项目

  1. 将构建好的abcdecoder.jar文件添加到项目依赖中
  2. 或通过Gradle/Maven配置依赖

5.2 独立运行

  1. 下载预编译的abcdecoder.jar
  2. 使用以下命令运行图形界面:
java -jar abcdecoder.jar

注意事项

  1. 反编译功能目前处于实验阶段,存在以下限制:

    • 不支持包含tryCatch的函数
    • 不支持部分字节码(如async相关字节码)
    • 反编译结果可读性有待优化
  2. 项目持续开发中,部分功能可能会发生变化

【免费下载链接】OpenHarmony字节码分析工具 支持解析方舟字节码文件中类信息、方法信息、字面量数组信息、方法进行反汇编以及解析资源索引文件等功能。 【免费下载链接】OpenHarmony字节码分析工具 项目地址: https://gitcode.com/OpenHarmonyToolkitsPlaza/ABCDE

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考