Sem86: a full-system x86 emulator without hardcoded semantics
Summary
Sem86 is a full-system x86 emulator that loads instruction semantics at runtime from an input file, enabling switching between different semantics to accurately emulate undefined behavior and undocumented instructions. It demonstrates competitive performance (about 1.9x Bochs and ~42% of QEMU) and supports Windows and Linux targets, making it useful for malware analysis in sandboxed environments by allowing mid-execution semantics changes to locate divergence points.