
Un virtualizador de código bin2bin para PE x86-64
Nombrado en honor a uno de mis juegos favoritos, "nocturne" es un virtualizador de código PE x86-64 bin2bin y un reescritor de binarios.
Para usar el virtualizador Nocturne, copia e incluye "nocturne_sdk.hpp" de core/ en tu proyecto.
#include "nocturne_sdk.hpp"
VIRTUALIZE int secret(int x) {
if (x % 2 == 0) {
return x / 2;
} else {
return x * 3 + 1;
}
}
VIRTUALIZE_MARK(secret);
Después, ejecuta el ejecutable de CLI.
cli.exe -i <input.exe> -o <output.exe>
Ejemplo:
cli.exe -i example.exe -o example_protected.exe
Por defecto, la CLI usa el modo auto.
O, explícitamente:
cli.exe -i <input.exe> -o <output.exe> --mode auto
Ejemplo:
cli.exe -i example.exe -o example_protected.exe --mode auto
Para escanear marcadores:
cli.exe -i <input.exe> -o <output.exe> --mode markers
Ejemplo:
cli.exe -i example.exe -o example_protected.exe --mode markers
O, si quieres virtualizar segmentos específicos de un binario sin el SDK:
cli.exe -i <input.exe> -o <output.exe> --mode rva <start_rva> <end_rva>
Ejemplo:
cli.exe -i calc.exe -o calc_vmp.exe --mode rva 0x1600 0x1864
Antes de la virtualización:

Después de la virtualización:
Bucle de despacho ofuscado:

LIEF
Zydis
argparse
Ante todo, esto es principalmente un proyecto de prueba de concepto (POC). Por favor, no esperes que sea demasiado estable. Dicho esto, iré añadiendo progresivamente más funciones/correcciones a medida que pase el tiempo.
Si hay alguna característica o manejador que quieras que se implemente, te ruego que abras un issue. Doy la bienvenida a cualquier contribución.
Este proyecto tiene el código fuente disponible, no es de código abierto.
El código fuente está disponible bajo la Licencia PolyForm Noncommercial 1.0.0.
Puedes usar, estudiar, modificar y compartir este software para fines no comerciales, sujeto a los términos de la licencia.
El uso comercial, empresarial, interno de la empresa, en producción empresarial, servicios alojados, productos de pago, trabajo para clientes, consultoría o implementación organizacional no está permitido sin una licencia por escrito separada.
Para licencias comerciales o empresariales, contacta: [email protected] / @nodiuus