M o Vfuscator o cómo hacer llorar a un reverser
M/o/Vfuscator compila programas en instrucciones "mov"... y s�lo "mov". Operaciones aritm�ticas, comparaciones, saltos, llamadas a funciones y todo lo que necesita un programa se realiza a trav�s de operaciones con mov; No hay c�digo auto-modificado, no hay c�lculos TTA (transport triggered architecture) ni nada que se pueda hacer sin mov...

Para que os hag�is una idea del resultado de usar la herramienta, las im�genes siguientes ilustran la compilaci�n de una funci�n sencilla de c�lculo de n�mero primo primero con gcc y luego con M/o/Vfuscator.
Ensamblador:
Gr�ficos de control de flujo:
Building
M/o/Vfuscator utiliza LCC como frontend del compilador. Incluye un script de compilaci�n que descargar� autom�ticamente LCC, lo configurar� para el backend de mov, y construir� la herramienta.
Si est�s en un sistema de 64 bits, aseg�rate de tener disponible una libc de 32 bits (por ejemplo, apt-get install libc6-dev-i386 o yum install glibc-devel.i686).
git clone https://github.com/xoreaxeaxeax/movfuscator
gd movfuscator
./build.sh
sudo ./install.sh
Si tienes problemas para crear LCC, puedes obtener m�s detalles sobre el proceso de construcci�n de LCC en: http://drh.github.io/lcc/current/doc/install.html
El compilador actualmente est� orientado al lenguaje de programaci�n C y a la arquitectura de procesador x86, pero es f�cilmente adaptable a otros lenguajes y arquitecturas.
Uso:
Compila programas como un compilador C tradicional:
movcc example.c -o example

Por supuesto, como compilador C completo, no se limita a programas simples:

Par�metros:
Los par�metros se pasan al compilador a trav�s de -Wfflag, por ej. -Wf--no-mov-id:
M�s info y proyecto Github: https://github.com/xoreaxeaxeax/movfuscator

Para que os hag�is una idea del resultado de usar la herramienta, las im�genes siguientes ilustran la compilaci�n de una funci�n sencilla de c�lculo de n�mero primo primero con gcc y luego con M/o/Vfuscator.
Ensamblador:
GCC | M/o/Vfuscator |
---|---|
![]() | ![]() |
Gr�ficos de control de flujo:
GCC | M/o/Vfuscator |
---|---|
![]() | ![]() |
M/o/Vfuscator utiliza LCC como frontend del compilador. Incluye un script de compilaci�n que descargar� autom�ticamente LCC, lo configurar� para el backend de mov, y construir� la herramienta.
Si est�s en un sistema de 64 bits, aseg�rate de tener disponible una libc de 32 bits (por ejemplo, apt-get install libc6-dev-i386 o yum install glibc-devel.i686).
git clone https://github.com/xoreaxeaxeax/movfuscator
gd movfuscator
./build.sh
sudo ./install.sh
Si tienes problemas para crear LCC, puedes obtener m�s detalles sobre el proceso de construcci�n de LCC en: http://drh.github.io/lcc/current/doc/install.html
El compilador actualmente est� orientado al lenguaje de programaci�n C y a la arquitectura de procesador x86, pero es f�cilmente adaptable a otros lenguajes y arquitecturas.
Uso:
Compila programas como un compilador C tradicional:
movcc example.c -o example

Por supuesto, como compilador C completo, no se limita a programas simples:

Par�metros:
Los par�metros se pasan al compilador a trav�s de -Wfflag, por ej. -Wf--no-mov-id:
--mov-id
Add reference instructions for each basic block to assist debugging.
--no-mov-id
Do not add reference instructions. This is the default.
--mov-flow
Use mov instructions in implementing control flow. This is the default.
--no-mov-flow
Use jmp instructions in implementing control flow. This will substantially
speed up execution in larger projects.
--mov-extern
Use mov instructions to implement external function calls. This is the
default.
--no-mov-extern
Use jmp instructions to implement external function calls. This is useful for
debugging.
--mov-loop
Use mov instructions to implement the primary execution loop. This is the
default.
--no-mov-loop
Use jmp instructions to implement the primary execution loop. This is useful
for debugging.
--crt0
Build the M/o/Vfuscator crt0 library (_start routines).
--crtf
Build the M/o/Vfuscator crtf library (primary execution loop routines).
--crtd
Build the M/o/Vfuscator crtd library (data tables).
--crt
Same as --crt0 --crtf --crtd.
M�s info y proyecto Github: https://github.com/xoreaxeaxeax/movfuscator
download file now
alternative link download