cleat 0.1.0

Android IL2CPP game modding toolkit — safe Rust bindings for IL2CPP field access, method calls, and inline hooks
Documentation
# cleat

Android IL2CPP 游戏 Modding 工具包。

[English]README.md | [API]docs/zh/API.md | [编译]docs/zh/BUILD.md

## 这是什么

IL2CPP 的 Rust 绑定。字段读写、方法调用、inline hook 封装成安全 API,unsafe 不暴露到用户代码。

```rust
use cleat::prelude::*;

#[cleat::main]
fn my_mod() -> cleat::Result<()> {
    cleat::set_app_data("/data/data/com.example.game/files");

    let klass = Il2CppClass::find("Player")?;
    let hp: i32 = klass.static_field_value("maxHealth")?;

    Ok(())
}

#[cleat::hook("Assembly-CSharp", "Player", "TakeDamage")]
fn god_mode(this: &Il2CppObject, damage: i32) -> cleat::Result<()> {
    god_mode::original(this, 0);
    Ok(())
}
```

## 开始

```toml
# Cargo.toml
[lib]
crate-type = ["cdylib"]

[dependencies]
cleat = "0.1"
```

```rust
// src/lib.rs
use cleat::prelude::*;

#[cleat::main]
fn main() -> cleat::Result<()> {
    cleat::set_app_data("/data/data/com.example.game/files");

    let klass = Il2CppClass::find("UnityEngine.Time")?;
    let time: f32 = klass.static_field_value("timeScale")?;
    log::info!("timeScale = {}", time);

    Ok(())
}
```

```bash
cargo ndk -t arm64-v8a -o ./target/jniLibs build --release
```

## 文档

| | |
|---|---|
| [API 参考]docs/zh/API.md | 完整 API |
| [编译指南]docs/zh/BUILD.md | 工具链安装和编译 |
| [API Reference]docs/en/API.md | API (English) |
| [Build Guide]docs/en/BUILD.md | Build (English) |

## 依赖

- Rust nightly
- Android NDK r26+
- cargo-ndk ≥ 3.0
- libshadowhook.so(运行时,随 APK 打包)

## License

MIT