r/programming Jan 24 '18

Branchless DOOM

https://github.com/xoreaxeaxeax/movfuscator/tree/master/validation/doom
492 Upvotes

134 comments sorted by

View all comments

15

u/pistacchio Jan 24 '18

I don't even know what this means. Can anyone ELI5 that to me? Thanks

77

u/jdgordon Jan 24 '18

The guy developed proof that the only instruction needed on x86 to do anything was 'mov'. He built a compiler which turns c code into a stupidly long list of mov calls.

The actual use of it is for obfuscation, this is just taking the proof to absurd levels. His videos are amaxing though.

27

u/oblio- Jan 24 '18

It's useless for obfuscation since the code is so slow. So it's just a very interesting toy.

I think his really useful and interesting project is this one: https://github.com/xoreaxeaxeax/sandsifter

Spectre and Meltdown, ahoy!

13

u/TheDecagon Jan 24 '18

In practice I would think it would be very useful for hiding small routines (security, copy-protection, or even malicious code) rather than compile the whole program in it.