Hacker GitHub

← All repos

xoreaxeaxeax/movfuscator

View on GitHub ↗ ★ 10,588 C

The single instruction C compiler

103 mentions on Hacker News by 96 people: 19 stories, 84 comments · first 2015-06-20 · latest 2026-03-01

Mentions per year 103 mentions · busiest year 2016 (14)
20082026
  1. …expands on the paper) managed to find a way to jump using just mov - by using a faulting mov. [0] https://github.com/xoreaxeaxeax/movfuscator
    comment by shakna · 2020-02-18 · in MOV is Turing-complete (2013) [pdf]
  2. relevant: Chris Domas' movfuscator: https://github.com/xoreaxeaxeax/movfuscator Presentation: https://www.youtube.com/watch?v=R7EEoWg6Ekk
    comment by a-wu · 2020-02-18 · in MOV is Turing-complete (2013) [pdf]
  3. …the movfuscator, which converts programs into "mov instructions, and only mov instructions": https://github.com/xoreaxeaxeax/movfuscator "The inspiration for the compiler is the paper "mov is Turing-complete", by Stephen Dolan."
    comment by claudiawerner · 2020-02-18 · in MOV is Turing-complete (2013) [pdf]
  4. One simple way to show that MOV is turing complete is how this project does it: https://github.com/xoreaxeaxeax/movfuscator This compiler compiles C to MOV instructions only.
    comment by nikeee · 2020-02-17 · in Let’s Build a Compiler (1995)
  5. https://github.com/xoreaxeaxeax/movfuscator posting for anyone wondering
  6. …but the crazy stuff I was thinking about is surprisingly not mentioned in the main readme. Behold: https://github.com/xoreaxeaxeax/movfuscator/blob/master/vali... Yes, Doom running with just MOV.
    comment by lloeki · 2019-12-08 · in One Instruction Set Computer
  7. So like x86 mov? https://github.com/xoreaxeaxeax/movfuscator
    comment by legulere · 2019-12-07 · in One Instruction Set Computer
  8. There other ways to do it, but they tend to be less efficient. https://github.com/xoreaxeaxeax/movfuscator
    comment by opwieurposiu · 2019-07-15 · in What if you couldn’t program with loops?
  9. You can compute with less than that. (all links are to the same thing) https://github.com/xoreaxeaxeax/movfuscator https://m.youtube.com/watch?v=R7EEoWg6Ekk https://news.ycombinator.com/item?id=18991404
  10. …that only emits MOV instructions [0] [1]. His other talks are quite interesting, as well! [0]: https://github.com/xoreaxeaxeax/movfuscator [1]: https://www.youtube.com/watch?v=2VF_wPkiBJY
  11. All you need is `mov`: https://github.com/xoreaxeaxeax/movfuscator/ Including the obligatory port of doom: https://github.com/xoreaxeaxeax/movfuscator/tree/master/vali... Note: The mov-only DOOM renders approximately one frame every 7…
  12. …one frame every 7 hours, so playing this version requires somewhat increased patience. https://github.com/xoreaxeaxeax/movfuscator/tree/master/vali...
  13. ▲ 197
    Movfuscator – Single instruction C compiler
    story by acheron · 2019-01-24 · 60 comments
  14. And an implementation of Doom at merely 7 hours per frame! https://github.com/xoreaxeaxeax/movfuscator/tree/master/vali...
    comment by pjscott · 2018-11-10 · in How Many Computers Are in Your Computer?
  15. It's not just a paper... there's a reference implementation! https://github.com/xoreaxeaxeax/movfuscator
  16. …takes seconds now takes hours. ah, here it is - branchless doom (in the validation/doom directory - https://github.com/xoreaxeaxeax/movfuscator/tree/master/vali... ): > The mov-only DOOM renders approximately one frame every 7 hours, so…
  17. ▲ 2
    The single instruction C compiler
    story by ghosthamlet · 2018-08-10 · 1 comment
  18. This is by the same badass who wrote a compiler that generates only MOV instructons [1] [1] https://github.com/xoreaxeaxeax/movfuscator
  19. Come on, the movfuscator has to be the best x86 I've seen: https://github.com/xoreaxeaxeax/movfuscator
  20. …can be constructed. An example of a compiler for an even more restricted environment might be https://github.com/xoreaxeaxeax/movfuscator Edit: in the same vein there's also https://esolangs.org/wiki/Higher_Subleq Further edit: The user…
  21. …compiled with the M/o/Vfuscator[0] is immune to this as it does not use branch instructions. [0] https://github.com/xoreaxeaxeax/movfuscator
  22. Another missing is the X86 mov instructor. https://github.com/xoreaxeaxeax/movfuscator
  23. Christopher Domas implemented this idea in his one instruction compiler, the M/o/Vfuscator: https://github.com/xoreaxeaxeax/movfuscator Here's a really nifty talk he gives about it: https://www.youtube.com/watch?v=R7EEoWg6Ekk
    comment by xelxebar · 2018-01-28 · in Redundancy of x86 Machine Code (2009)
  24. ▲ 454
    Branchless Doom
    story by strangecasts · 2018-01-23 · 80 comments
  25. …essentially compile anything to c, after which you can just compile it with the movfuscator[1] 1: https://github.com/xoreaxeaxeax/movfuscator
    comment by earenndil · 2018-01-09 · in What Spectre and Meltdown Mean for WebKit
  26. …path, that straight path, that clean path that's wholly immune to those pesky branching bugs. 1: https://github.com/xoreaxeaxeax/movfuscator
  27. …can scramble the MOV instructions, truely making it a decompilation nightmare. 1. Movfuscator page https://github.com/xoreaxeaxeax/movfuscator 2. Derbycon 2015 video https://www.youtube.com/watch?v=R7EEoWg6Ekk
    comment by DogestFogey · 2017-11-16 · in A Sampling of Anti-Decompilation Techniques
  28. heh, by the same guy who made that compiler that translates C into only mov instructions: https://github.com/xoreaxeaxeax/movfuscator
  29. Technically, x86(and probably others) are turing complete with just MOV: https://github.com/xoreaxeaxeax/movfuscator
  30. Compiling C to assembly code that uses only one instruction, namely mov: https://github.com/xoreaxeaxeax/movfuscator
  31. …similar to the underlying mechanism used in the compiler that only used x86 mov instructions. https://github.com/xoreaxeaxeax/movfuscator
  32. Curiosly the capability of the x86 MOV is such that you can compile C code to only MOV instructions: https://github.com/xoreaxeaxeax/movfuscator Inspired by this paper about Turing-completeness of MOV:…
  33. ▲ 25
    Single Instruction x86 C Compiler
    story by peter_d_sherman · 2017-02-09 · 3 comments
  34. An amusing application of mov's turing completeness https://github.com/xoreaxeaxeax/movfuscator
  35. Yep, just in case: https://news.ycombinator.com/item?id=9751312 https://github.com/xoreaxeaxeax/movfuscator And the XOR post-processor: https://github.com/xoreaxeaxeax/movfuscator/blob/master/post...
    comment by jaclaz · 2016-12-31 · in X86 Assembly Guide
  36. See https://github.com/xoreaxeaxeax/movfuscator
  37. ▲ 2
    MOV obfuscator
    story by trzeci · 2016-11-02 · 0 comments
  38. …minimal, just a state machine reading/writing state on a tape Repo includes a good set of slides: https://github.com/xoreaxeaxeax/movfuscator/blob/master/slid... Indirect memory accesses serve for conditional execution Here's the macro for…
  39. ▲ 191
    Movfuscator – A single-instruction C compiler
    story by vasili111 · 2016-08-27 · 53 comments
  40. ▲ 4
    Movfuscator
    story by signa11 · 2016-08-26 · 0 comments
  41. ▲ 3
    Single instruction C compiler
    story by clemlais · 2016-08-25 · 0 comments
  42. Convoluted tricks? Certainly. There's a functioning mov-only compiler [1], though. [1] https://github.com/xoreaxeaxeax/movfuscator
  43. Here is a paper and a mov only compiler. http://www.cl.cam.ac.uk/~sd601/papers/mov.pdf , https://github.com/xoreaxeaxeax/movfuscator PS: Found these links on hn.algolia.com, the HN threads are: https://news.ycombinator.com/item?id=6309631…
    comment by terminalcommand · 2016-08-24 · in Does a compiler use all x86 instructions? (2010)
  44. Probably things like https://github.com/xoreaxeaxeax/movfuscator
  45. paper: https://www.cl.cam.ac.uk/~sd601/papers/mov.pdf compiler implementing it: https://github.com/xoreaxeaxeax/movfuscator HN discussions of these links: https://news.ycombinator.com/item?id=6309631 (paper) and…
  46. https://github.com/xoreaxeaxeax/movfuscator
  47. Also: https://github.com/xoreaxeaxeax/movfuscator (which makes x86 single-instruction)
    comment by TazeTSchnitzel · 2016-06-25 · in An emulator for a single-instruction (NOR) CPU
  48. …make this? A: I thought it would be funny Is the motivation of demovfuscator to be not funny? [1] https://github.com/xoreaxeaxeax/movfuscator#faq Edit: Not sure why the down vote. It was intended as a joke, if it means anything
    comment by a_c · 2016-06-24 · in Demovfuscator
  49. ▲ 8
    XORfuscator: post-processor translates MoVfuscated C into only xor instructions
    story by ingve · 2015-09-25 · 0 comments
  50. Related: an x86/x64 obfuscator that transforms a program to use only mov instructions https://github.com/xoreaxeaxeax/movfuscator
    comment by praseodym · 2015-08-24 · in Instruction-less computation