Skip to content

Jack Baker - Hacking WebAssembly Games with Binary Instrumentation

Jack Baker

Demonstrates memory editing and cheat development for WebAssembly-based browser games using dynamic binary instrumentation.

Summary

WebAssembly Game Hacking

Jack Baker presents techniques for hacking browser games compiled to WebAssembly, applying traditional binary game hacking methodologies to the web context.

WebAssembly Reverse Engineering

Wasm binaries use a compact binary format that can be disassembled into WAT (WebAssembly Text Format) and analyzed with tools like WABT and Ghidra's Wasm support. Baker demonstrates decompiling Wasm modules to identify game state variables and logic functions.

Memory Editing via JavaScript

WebAssembly modules share a linear memory buffer (WebAssembly.Memory) accessible from JavaScript. Baker demonstrates reading and writing game state (health, ammo, position, score) directly from the browser console by locating the relevant memory offsets through pattern scanning.

Binary Instrumentation Approach

For games with obfuscated Wasm or runtime-generated code, Baker uses Chrome DevTools Protocol-based instrumentation to hook Wasm function calls at the JavaScript/Wasm boundary, providing a dynamic analysis capability without modifying the Wasm binary.

Related talks