ABCDE:一个使用Kotlin编写的OpenHarmony逆向工具包

news/2025/1/27 13:21:09/文章来源:https://www.cnblogs.com/o-O-oO/p/18692554

ABCDE是一个使用Kotlin编写的OpenHarmony逆向工具包,目前已经实现的功能为解析方舟字节码文件中 的类信息、方法信息、字面量数组信息以及对方法进行反汇编,解析资源索引文件等功能。

该工具核心功能由纯kotlin(jvm)实现,因此可以提供平台无关的jar包供java工程引用并二次开发

1、构建

环境需求

• JDK17+

构建UberJar

./gradlew :abcdecoder:packageReleaseUberJarForCurrentOS

也可以去github actions 中下载最新的构建

2、功能演示

主页面

可以拖入或点击打开文件,支持文件类型有.abc.hap.index

hap页面

这里可以以树形结构查看hap中的内容,其中的abc和index文件能够点击打开。如果解析成功,该hap的部分包信息将在右侧展示。

资源索引查看页面

这里提供与android studio查看arsc类似的功能,可以查看openHarmony 资源索引文件中的内容,并支持按类型区分和名称+内容的查找。

abc文件查看页面

这里可以按照树形结构查看abc字节码文件中的类信息,支持按名称查找。左侧 信息页签也支持查看字节码版本、校验和等信息。

类信息和字节码查看

点入某个类后,可以查看类的方法和字段。支持简单的索引,左侧信息页签中可以查看 这个类的导入导出信息

点击类中的某个方法即可查看该方法的字节码。

命令行

目前支持使用命令行解析出abc文件中的class列表和资源索引文件中的内容 以下是命令行示例:

dump class

java -jar /path/to/abcdecoder.jar --cli --dump-class /path/to/module.abc [--out=out.txt]

dump index

java -jar /path/to/abcdecoder.jar --cli --dump-index /path/to/resources.index [--out=out.json]

项目地址

https://github.com/Yricky/abcde

(来源于网络,安全性自测,如侵权请联系删除)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/876219.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux性能】Linux系统中进程运行时间的五大精准检测法

在Linux操作系统的复杂而精细的运行环境中,准确了解各个进程的运行时间对于系统管理员和开发人员而言至关重要。这不仅有助于监控系统性能,还能为调试问题提供关键线索,进而实现对系统资源的高效管理。本文将深入探讨五种在Linux中检查进程运行时间的有效方法,每种方法都具…

VS Code 报错 __float128 is not supported on this target 解决方法

最近在使用 VS Code 时,每一个 cpp 文件都会有如下报错:在中文互联网上并没有搜索到很好的解决方案,但是在 stack overflow 上找到了一个比较好的回答:This problem may be caused by your VSCode using clang-tidy as the C/C++ extension. clang-tidy does not support _…

A Critique of ANSI SQL Isolation Levels.18687395

原文:A critique of ANSI SQL isolation levels摘要:ANSI SQL-92[MS, ANSI]使用脏读、不可重复读以及幻读现象(phenomena)定义了隔离级,本论文展示了这些现象,以及ANSI SQL定义并无法合适的描述众多流行的隔离级别,包括(ANSI标准)所涵盖的级别的标准锁实现。我们还介绍…

0127人工智能创新型教师培育计划(第一期) 试题

# 试题 http://site01.openhydra.net:30012/evt/uploadcode人工智能创新型教师培育计划(第一期)​ 【活动进展每日更新1月26日】​活动更新(1月26日 22:00更新): Python作业​教师AI基础考核作业(见下面介绍),或者可以下载word文件 查看。 1月31日中午24:00前提交, 作…

.net core 使用账号密码方式读取SharePoint 文件(记录)

项目环境 .net 6.0 原代码 是.netframework 4.6 原代码引用了Microsoft.SharePoint.Client 包去操作.其中身份验证的使用的是 SharePointOnlineCredentials 类.但迁移到.net 6,0 后发现这个类已经被移除.测试了常用 的各种方式,大部分均返回403 解决方案: 使用包 dotnet add…

mkcert生成ssl证书+nginx部署局域网内的https服务访问

环境 使用的是树莓派 安装的是ubuntu 系统 https://github.com/FiloSottile/mkcert/releases 下载 添加权限 chmod 777 ./mkcert-v1.4.4-linux-arm64 1、CA 证书加入本地可信 CA ./mkcert-v1.4.4-linux-arm64 -install 2、生成自签证书 ./mkcert-v1.4.4-linux-arm64 …

iPhone 拍摄 LED 灯带视频时候如何防频闪 All In One

iPhone 拍摄 LED 灯带视频时候如何防频闪 All In One 闪动频率不一致 bug? 60Hz 50HziPhone 拍摄 LED 灯带视频时候如何防频闪 All In One闪动频率不一致 bug?60Hz 50Hz errorshttps://www.bilibili.com/video/BV1F5fkY6ERS/ 问题分析 灯的问题,灯在闪。 交流电是 50Hz(中国…

iPhone 视频拍摄 LED 灯带时候如何防频闪 All In One

iPhone 视频拍摄 LED 灯带时候如何防频闪 All In One 闪动频率不一致 bug? 60Hz 50HziPhone 视频拍摄 LED 灯带时候如何防频闪 All In One闪动频率不一致 bug?60Hz 50Hz errorshttps://www.bilibili.com/video/BV1F5fkY6ERS/ solutions demos(🐞 反爬虫测试!打击盗版⚠️)…

AI智能体(Agent)总体框架及技术发展现状

智能体(Agent)定义 AI智能体,又称AI代理或 Al Agent,是能够感知环境,基于目标进行决策并执行动作的智能化应用。它具备自主性、交互性、反应性和适应性等基本特征,能够在复杂多变的环境中独立完成任务。智能体的出现,标志着人工智能从简单的规则匹配和计算模拟向更高级别的…

记忆层以前所未有的方式增强了LLMs

深入探讨记忆层如何工作,以及它们如何增强LLMs,以至于下一代AI架构如果不采用它们,将会错失良机。图像由DALL-E 3生成LLMs(大型语言模型)是存储在其参数中的庞大信息知识库(主要是以密集层中线性矩阵变换的权重形式存在)。 然而,随着参数规模的增长,计算成本和能源消耗…