#jvm #bytecode #jvm-bytecode

ka-pi

受 ASM 启发的 JVM 字节码操作框架

3 个版本 (重大更改)

0.2.0 2023年7月29日
0.1.0 2023年6月22日
0.0.1 2023年2月8日

#1363 in 开发工具

每月下载 22 次

MIT 许可证

160KB
117

Ka-Pi

crates.io

受 ASM 启发的 JVM 字节码操作框架。

Ka-Pi,闽南语中咖啡的发音,具有多种用法,不仅在现代社会中不可或缺,而且在 计算机科学 中也占有不可替代的位置。

特性

Ka-Pi 提供了几个与 JVM 生态系统相关的核心模块

基本用法

将类文件解析为结构化节点

要使用 cfsp 解析类文件,您需要首先启用 cfsp 功能

ka_pi = { version = "...", features = ["cfsp"] }

然后,您就可以在自己的项目中使用类文件解析器了

# use std::fs::File;
# use cfsp::parse::{to_class, ParsingOption};

# fn main() {
  let mut file = File::open("Main.class").unwrap();
  let class = to_class(&mut file, ParsingOption::default().parse_attribute()).unwrap();
  
  println!("{:?}", class);
# }

另请参阅

我可能还开发了其他与 JVM 相关的项目,可以帮助使用 Ka-Pi 一起进行 JVM 项目开发

  • frape - 一个低通信成本的 Rust 与 Java 反射库的直接互操作桥接器。(尚未发布。)
  • jars - 一个简单的 jar 提取库。

作者

Kyle Lin (ChAoS-UnItY)

许可证

版权 © 2023,Kyle Lin (ChAoS-UnItY)。在 MIT 许可证 下发布。

依赖

~240KB