Sly
A multi-system emulator with a 3D game library, an advanced debugger, and Lua scripting.
A selection of my open-source projects, usually related to reverse engineering, emulation, or security research.
A multi-system emulator with a 3D game library, an advanced debugger, and Lua scripting.
A GameCube and Wii emulator with an advanced debugger, Lua scripting, and optional browser support.
A Game Boy Advance emulator with CPU and GPU debugging tools and Rhai scripting support.
An experimental PlayStation emulator and debugger, with shader support.
A Game Boy and Game Boy Color emulator with a built-in debugger.
A Game Gear emulator with a debugger and partial Master System support.
chipi_macros::isa!("isa/mips.chipi");
let (inst, _len) =
Mips::decode(0x0085_1020);
assert_eq!(inst.opcode_name(), "add");
assert_eq!(inst.rd(), 2); Describe an instruction set once. Generate decoders, disassemblers, and dispatchers in Rust, C++, or Python from a small declarative language.
#[bitfield(u8, order = lsb0)]
pub struct StatusReg {
#[bits(0)] enabled: bool,
#[bits(1..=3)] mode: u8,
#[bits(4..=7)] _reserved: u8,
} Turn Rust structs into typed bitfields with generated accessors. Supports scattered bits, signed values, nested fields, and enums.
Execute and debug IDAPython scripts inside IDA without leaving Visual Studio Code.
A dark theme for long reverse engineering sessions, with pastel colors for IDA Pro and Lighthouse.
A BYOVD research tool for loading Cheat Engine's dbk64.sys driver and accessing its privileged functions.
Status = NtLoadDriver(&DriverServiceName);
if (Status == 0xC000010E)
{
printf("Driver already loaded\n");
return true;
} A Windows driver-loading research tool that configures the service registry key directly and calls NtLoadDriver.