NO

Author Topic: MOVfuscator - C compiler only for MOV  (Read 357 times)

Offline bitcoin

  • Member
  • *
  • Posts: 46
MOVfuscator - C compiler only for MOV
« on: April 01, 2019, 09:11:05 pm »
Hello
i find interesting thing:
Quote
The M/o/Vfuscator (short 'o', sounds like "mobfuscator") compiles programs into "mov" instructions, and only "mov" instructions. Arithmetic, comparisons, jumps, function calls, and everything else a program needs are all performed through mov operations; there is no self-modifying code, no transport-triggered calculation, and no other form of non-mov cheating.

The basic effects of the process can be seen in overview, which illustates compiling a simple prime number function with gcc and the M/o/Vfuscator.

https://github.com/xoreaxeaxeax/movfuscator/

Offline jj2007

  • Member
  • *
  • Posts: 506
Re: MOVfuscator - C compiler only for MOV
« Reply #1 on: April 02, 2019, 02:22:53 am »
No HelloWorld.exe on that site, though - strange 8)

Offline bitcoin

  • Member
  • *
  • Posts: 46
Re: MOVfuscator - C compiler only for MOV
« Reply #2 on: April 02, 2019, 12:49:44 pm »
This code is only for linux.. ( I tried to build it in Ubuntu (in Windows 10 ), but it fails.

But this idea is interesting, I think. How to write such code in Windows? It is possible?

Offline jj2007

  • Member
  • *
  • Posts: 506
Re: MOVfuscator - C compiler only for MOV
« Reply #3 on: April 04, 2019, 04:08:25 pm »
Unless somebody posts an executable that I can test, I declare it bogus. CPUs have a precisely defined set of instructions, and with mov whatever you cannot jump anywhere, you have no conditional branches, you cannot add or subtract, ... the list of things you cannot do is pretty long.

Offline Bitbeisser

  • Global Moderator
  • Member
  • *****
  • Posts: 760
Re: MOVfuscator - C compiler only for MOV
« Reply #4 on: April 09, 2019, 09:29:31 am »
Unless somebody posts an executable that I can test, I declare it bogus. CPUs have a precisely defined set of instructions, and with mov whatever you cannot jump anywhere, you have no conditional branches, you cannot add or subtract, ... the list of things you cannot do is pretty long.
I think you are working too much with assembley code, missing the very obvious "high level" stuff...  :P
Ralf 8)