Skip to content
0:00 / 0:00

#movfuscator#christopherdomas#obfuscation

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

Adrian Crenshaw

40K subscribers • 9 videos on Hallway

YouTube
  • Recommended by 7 people: 6 on Hacker News and 1 in engineering communities.
  • A classic. People kept recommending it from 2015 to 2026.
  • Presented by Christopher Domas, security researcher

Advanced. Deep dive for people who know the field.

80K views11 years ago7 recommendations

SecuritySystems programmingExploits and vulnerabilitiesReverse engineeringCompilers and interpreters

Christopher Domas demonstrates the M/o/Vfuscator, a compiler that uses only x86 mov instructions to create programs that are incredibly difficult to reverse engineer.

These are the videos from Derbycon 2015: irongeek.com/i.php?page=videos/derbycon5/mainlist

Why it's here

7 people recommend this

What people say. Highly recommended as a legendary and entertaining talk on compiler design, x86 instruction set quirks, and extreme code obfuscation.

u/chubbymaggiein r/ReverseEngineering • Recommends

MoVfuscator 2.0: The single instruction C compiler YouTube

azalemethon Hacker News • Recommends

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 link to this video I think this is the preferred link!

azalemethon Hacker News • Recommends

On “M/o/Vfuscator: The single instruction C compiler”

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

mk_stjameson Hacker News • Recommends

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: link to this video

MattSteelbladeon Hacker News • Recommends

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 link to this video - Hardware Backdoors in redacted x86 link

DogestFogeyon Hacker News • Recommends

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 link to this video

xelxebaron Hacker News • Recommends

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: link to this video

ianbickingon Hacker News • Recommends

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! link to this video

u/chubbymaggiein r/netsec • Recommends

MoVfuscator 2.0: The single instruction C compiler YouTube

u/VincentDankGoghin r/C_Programming • Mentions

On “[x-post /r/Programming] It turns out the x86 instruction 'mov' is turing complete, so naturally some guy wrote a C compiler which outputs only 'mov' instructions”

The author did a presentation on this project which you can find here.

bchon Hacker News • Mentions

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…

moss2on Hacker News • Mentions

On “The Move Programming Language”

I thought this article was gonna be a joke, seeing how the mov instruction in x86 is Turing complete: link to this video

mikewaroton Hacker News • Mentions

On “Ask HN: How do I program a BitGrid?”

…mall graphs, using my simulator. I'd also like to figure out how to make a backend for GeoHot's TinyGrad that outputs a BitGrid graph. >0: link Oh my... the x86 Move instruction really has a lot of power built into it. 1 I'll be digging through the GitHub repo he mentioned2 for a while, it looks quite interesting. Thanks for your help! 1 link to this video 2 link…

Mockapapellaon Hacker News • Mentions

On “Simple HTTP Server Implemented in Mov”

Hey HN, a few years back I came across this talk about how `mov` is turing complete and how this can be hacked into writing programs that run entirely using only `mov` instructions ( link to this video ). A couple years later I stumbled across an article explaining how to implement a simple http server from scratch ( link ). Naturally, I tried to combine the two concepts but the AI models weren't good enough at the time and I didn't have the bandwidth for yet another questionably useful rabbit hole. Fast forward to today and o1 was able to implement it with some iteration. I hope you enjoy this quick weekend project. I tried to make the README as helpful as I could to get it running on your own compu…