Shellcode Emulator

Model x86 and x86-64 shellcode in a constrained browser interpreter. Step backward, inspect registers and memory, and stop safely at syscalls and unknown opcodes.

Advertisement

Model instructions without native execution

The emulator interprets a documented x86/x64 subset inside private browser memory. It models register and immediate moves, integer arithmetic, flags, stack operations, calls, branches, simple ModRM and SIB memory operands, interrupts, and syscall boundaries.

Stop safely and inspect state

Execution stops at system calls, interrupts, external transfers, returns, unsupported opcodes, memory faults, or the 10,000-instruction ceiling. No operating-system API or native instruction is invoked. Every modeled step records register and flag state plus reversible memory writes.

This bounded teaching and triage model is not a hardened malware sandbox. Use an isolated professional environment for adversarial samples requiring full CPU, API, process, or network behavior.

Frequently Asked Questions

Does the emulator execute shellcode on my computer?+

No. It models supported instructions in TypeScript with a private Uint8Array memory space. It never invokes native code, a system call, an interrupt, or an operating-system API.

What happens at an unsupported instruction?+

The emulator stops with the exact address and opcode rather than guessing. It also stops at syscalls, interrupts, external control transfers, invalid memory, and the instruction limit.

Can it analyze a complete executable?+

It can extract and model a selected byte range or detected entry offset, but it does not load a full process image, dynamic linker, operating-system APIs, or every CPU instruction. Use the executable inspector first.

Related tools

This tool is provided for informational and educational purposes only. All processing happens in your browser — no data is sent to or stored on our servers. While we strive for accuracy, we make no warranties about the completeness or reliability of results.