2 个版本

0.1.1 2022年7月19日
0.1.0 2022年7月7日

#1109 in 过程宏

自定义许可

11KB
141

Lazy-RE

一个简单的进程宏,用于懒散的逆向工程师。它基本上为你创建填充。

#[repr(C, packed)]
#[lazy_re]
struct Lights {
    #[lazy_re(offset = 0x10)]
    x: f32,
    y: f32,
    z: f32
}

#[repr(C, packed)]
#[lazy_re]
struct PlayerEntity {
    #[lazy_re(offset = 0x48)]
    light: Lights,

    #[lazy_re(offset = 0x90)]
    player_x: f32,
    player_y: f32,
    player_z: f32,
}

这将创建在结构体开头为 Light 创建填充,即 x 字段将在偏移 0x10,其余部分用 [u8; 0x10] 填充。

同样,PlayerEntity 将在 Light 结构体之前填充,然后在灯光和玩家位置之间填充,为你进行数学计算。


lib.rs:

Lazy RE

有时我们很懒,不需要完全逆向工程一个结构体,因此我们可以省略一些我们不感兴趣的字段。

使用这个库,您可以在每次需要更改结构体时无需进行心理数学计算即可生成填充,因此您不需要在脑海中跟踪填充,此进程宏将为您生成它!

依赖项

~1.5MB
~35K SLoC