Sem86 - A full-system emulator without hardcoded semantics
Sem86 is an x86 full-system emulator that loads instruction semantics dynamically at runtime instead of relying on hardcoded semantics. This approach allows it to accurately emulate undefined behavior and switch semantics mid-execution to analyze malware. Despite using LLVM and lacking compile-time optimizations, it achieves competitive performance, running multiple Windows and Linux operating systems on both desktop hardware and Android phones. Open article →