Break Me00 The MoVfuscator Turning mov into a soul crushing RE nightmare Christopher Domas

Adrian Crenshaw · 80K views · 2015 · 46:19

Open on YouTube

Security & hackingCompilers, interpreters & program analysisComputability & complexity theorytalk

Why Hacker News recommends it

HN calls it a legendary, clearly explained hacker talk whenever mov-only computing or anti-decompilation comes up.

What it is

Christopher Domas's Derbycon 2015 talk on the M/o/Vfuscator, a compiler that emits only x86 mov instructions, showing mov is Turing complete. It explains how a full machine is built from mov and why the output is a nightmare to reverse engineer.

Recommended by 6 HN commenters across 7 different months, 2017 to 2026.

What Hacker News said

Strong rec azalemeth · 2020-11 · on “Blackrota: obfuscated backdoor written in Go”

> 'Having worked on really "heavily obfuscated" code (flattened control flow, functions implemented in obfuscated VMs, custom incompatible ABI, cryptographic encryption of code, etc.), this gobfuscator looks comparatively easy :) ' For any HN readers who have not already encountered the MOVfuscator [1] I cannot recommend this Blackhat talk highly enough -- the x86 MOV instruction is turing complete, and it flattens arbitrary code to MOVs. It's also the only time I've ever seen brainfuck being used as a seriously sensible intermediate language ;-) [1] [this video] [I think this is the preferred link!]

Strong rec azalemeth · 2023-11 · on “M/o/Vfuscator: The single instruction C compiler”

If you haven't seen it, the original conference talk on the Movfuscator is excellent – [this video] – it goes through it in detail and describes how version 0.0 had Brainfuck as a totally legitimately valid intermediate language ;-)

Strong rec mk_stjames · 2025-09 · on “Weird CPU architectures, the MOV only CPU (2020)”

I came back to reply with just this. Christopher Domas's conference talk on the movfuscator is legendary: [this video]

Strong rec MattSteelblade · 2026-08 · on “Spaghettifying DRAM”

I cannot wait for the accompanying Black Hat talk. Christopher Domas is one of my absolute favorite all-time hackers. He does such a fantastic job of explaining his work. Some of my favorite talks of his: - Psychological Warfare in Reverse Engineering [LINK] - The MoVfuscator [this video] - Hardware Backdoors in redacted x86 [LINK]

Recommends DogestFogey · 2017-11 · on “A Sampling of Anti-Decompilation Techniques”

I'm surprised the Movfuscator hasn't been mentioned yet. It compiles C code into unconditional MOVs, and if you watch the author's Derbycon 2015 video there are ways you can scramble the MOV instructions, truely making it a decompilation nightmare. 1. Movfuscator page [LINK] 2. Derbycon 2015 video [this video]

Recommends xelxebar · 2018-01 · on “Redundancy of x86 Machine Code (2009)”

Christopher Domas implemented this idea in his one instruction compiler, the M/o/Vfuscator: [LINK] Here's a really nifty talk he gives about it: [this video]

Recommends ianbicking · 2019-01 · on “Movfuscator – Single instruction C compiler”

I'd recommend the video presentation linked off the page, where he walks through how he actually turned mov into a machine. It's very weird and interesting! [this video]

Cites bch · 2018-01 · on “Oil Shell: Success with Aboriginal, Alpine, and Debian Linux”

> I see this sentiment a lot, but it’s not a useful one... Consider this response for entertainment purposes only. It’s easy to become insult(ed|ing) or get into a holy war, but I’m really not invested in any of that. That said: it is a useful sentiment, and a kubernetes script written in sh(1) is not the answer to the question. That one “can” does not mean one “should”. The reddit comment cites init scripts (I happen to use RC scripts, and haven’t viewed init scripts in a while) as an example of why shell is so great - everybody uses init! 1) of course everybody does. And it -happens- to be written in shell. So what? 2) this is fine! The scripts I see are 10s of lines long and practically f