Menu

Sem86 full-system x86 emulator
📰

Sem86 full-system x86 emulator

Adafruit Industries – Makers, hackers, artists, designers and engineers!·Anne Barela·1 day ago
#v2HU1j0d
Reading 0:00
15s threshold

Sem86 is an x86 full-system emulator that loads instruction behavior from a file at runtime, so undefined or undocumented instructions can be changed by editing the file. That makes it possible to emulate undefined behavior and undocumented instructions the way a particular chip handles them. It uses LLVM rather than a custom JIT, and it’s 1.9x as fast as Bochs and about 42% of QEMU’s speed. It was presented at QRS’26.

One use is malware analysis. Malware can check for differences in undefined instruction behavior to work out that it’s running in a sandbox. Sem86 can switch semantics in the middle of execution, so a run can be bisected to find the exact instruction where two behaviors diverge. The team showed this with a toy malware sample.

It implements enough Pentium-era hardware to boot Windows 3.1, 98, XP, 7 and Debian 8, with optional ES1370 audio, VBE video and an NE2k network card.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.