WebDasm is a client-side reverse engineering and binary analysis tool. It runs entirely in the browser using a Rust/WebAssembly analysis engine and a React frontend. Since there is no backend server, your binaries are never uploaded anywhere.
- Disassembly: x86/x64 disassembly powered by
iced-x86. - Control Flow Graph (CFG): Basic block detection and interactive CFG rendering via Cytoscape.js.
- Binary Parsing: Supports PE, ELF, Mach-O, and raw shellcode/hex strings.
- x86 Emulator: Instruction-level step-by-step emulation with register and stack tracking.
- Decompiler: Basic pseudo-C code generation from assembly.
- Heuristics: Detects common exploit patterns like PEB access (fs:[0x30]), CPUID/RDTSC usage, and INT3 padding.
- Signatures: FLIRT-style byte pattern matching.
The project is split into two parts:
core/: The analysis engine written in Rust. Compiled to WebAssembly viawasm-pack.web/: The frontend UI built with React, Vite, and Tailwind CSS. Analysis runs inside a Web Worker to prevent UI blocking.
You will need Node.js and Rust installed, along with wasm-pack.
- Build the WASM core:
cd core
wasm-pack build --target web- Run the React frontend:
cd web
npm install
npm run devThen open http://localhost:5173.
N: Rename symbol/address;: Add inline commentF5: Toggle Disassembly / PseudocodeCtrl+G: Jump to addressShift+Click: Quick comment
MIT