Writing
// notes on reverse engineering, security research, and systems programming
Building Software in an Era That Feels Increasingly Hostile to the People Who Create It
An update on Acheron, the VST, and starting the UI library over from scratch, plus some honest thoughts on AI, original work, and what the future holds for independent developers.
Building Acheron: A Decompiler Written in Rust — Part 3
Type recovery: reading pointers, arrays, and structs off address shapes, a type lattice with ranked upgrades, and the SSA canonicalization pass that made struct detection actually work on real code.
Reverse Engineering CoD: Ghosts FastFiles — Part 2: The Format Finally Cracked
With help from primetime43, the inner asset format is finally mapped: pattern scanning, the compLen stride, mptype embedded rawfiles, and 329/331 FFs loading cleanly.
Building Acheron: A Decompiler Written in Rust — Part 2
Structural control flow recovery, condition simplification, post-dominator tree, switch tables, and a visual CFG graph view with pan and zoom.
Building Acheron: A Decompiler Written in Rust — Part 1
Building a x64 decompiler from scratch in Rust. PE loading, instruction decoding, IR lifting, CFG construction, SSA, and pseudo-C generation.
Reverse Engineering CoD: Ghosts PS3 FastFiles
A deep dive into RSA signatures, 7-bit encoding schemes, LZX compression, and memory dumping techniques with RPCS3.
Advanced Cheat Development & Anti-Cheat Bypass
Kernel-level manipulation, custom VMs, DMA, SMM exploits, and the arms race between cheats and anti-cheat systems.
Advanced Malware Development: Injection, Obfuscation & Evasion
Shellcode injection, obfuscation, direct syscall evasion, sandbox bypass, and anti-debug techniques.
Reverse Engineering a Remote Code Execution Vulnerability in MW2
A missing bounds check, a Huffman compression overflow, and how responsible disclosure led to a patch.
Reverse Engineering Abandonware — Sierra's Pharaoh
Patching a CD check in a 1999 city-builder using IDA Pro. One jne → jmp and the disc requirement is gone.
Understanding and Modding Call of Duty FastFiles
Dissecting the .ff format — data structures, compression schemes, and what it takes to build community mods.
Transitioning from C++ to Rust
The good, the challenging, and the ugly of switching languages. Ownership models, lifetimes, and ecosystem maturity.
Hello, World!
Who am I and what do I do? From C and x86 assembly at age 8 to Rust, security research, and DSP.