
Um virtualizador de código bin2bin para PEs x86-64
Batizado em homenagem a um dos meus jogos favoritos, "nocturne" é um virtualizador de código PE x86-64 bin2bin e reescritor binário.
Para usar o virtualizador Nocturne, copie e inclua "nocturne_sdk.hpp" de core/ no seu projeto.
#include "nocturne_sdk.hpp"
VIRTUALIZE int secret(int x) {
if (x % 2 == 0) {
return x / 2;
} else {
return x * 3 + 1;
}
}
VIRTUALIZE_MARK(secret);
Depois, execute o executável cli.
cli.exe -i <input.exe> -o <output.exe>
Exemplo:
cli.exe -i example.exe -o example_protected.exe
Por padrão, a CLI usa o modo auto.
Ou, explicitamente:
cli.exe -i <input.exe> -o <output.exe> --mode auto
Exemplo:
cli.exe -i example.exe -o example_protected.exe --mode auto
Para escanear marcadores:
cli.exe -i <input.exe> -o <output.exe> --mode markers
Exemplo:
cli.exe -i example.exe -o example_protected.exe --mode markers
Ou, se você quiser virtualizar segmentos específicos de um binário sem o SDK:
cli.exe -i <input.exe> -o <output.exe> --mode rva <start_rva> <end_rva>
Exemplo:
cli.exe -i calc.exe -o calc_vmp.exe --mode rva 0x1600 0x1864
Antes da Virtualização:

Depois da Virtualização:
Loop do dispatcher ofuscado:

LIEF
Zydis
argparse
Antes de tudo, este é principalmente um projeto de POC. Por favor, não espere que ele seja muito estável. Dito isso, vou adicionando progressivamente mais recursos/correções a ele com o passar do tempo.
Se houver algum recurso / handler que você queira implementado, peço que abra uma issue. Aceito todas e quaisquer contribuições.
Este projeto é de código-fonte disponível, não é open source.
O código-fonte está disponível sob a PolyForm Noncommercial License 1.0.0.
Você pode usar, estudar, modificar e compartilhar este software para fins não comerciais, sujeito aos termos da licença.
Uso comercial, uso corporativo, uso interno em empresas, uso em negócios de produção, serviços hospedados, produtos pagos, trabalho para clientes, trabalho de consultoria ou implantação organizacional não é permitido sem uma licença por escrito separada.
Para licenciamento comercial ou corporativo, entre em contato: [email protected] / @nodiuus