Propósito: exemplo educacional e legítimo de como dificultar engenharia reversa básica em um app/loader C++. Sem técnicas invasivas ou obscuras: apenas detecção de debug simples, checagem de integridade do binário e validação de licença (opcional) via sua KeyAdmin.
Não é bala de prata. É um exemplo de camadas para proteger seu próprio software. Use de forma ética e dentro das leis.
- Anti‑debug básico (Windows API):
IsDebuggerPresent+CheckRemoteDebuggerPresent - Auto‑integridade: calcula CRC32 do próprio
.exee compara com um arquivoself.crc32- 1º run: gera
self.crc32 - Demais runs: verifica se houve alteração no binário
- 1º run: gera
- Validação de licença (opcional): exemplo com
POSTpara.../painel/api/validar.phpda KeyAdmin - CMake + C++17, sem dependências externas (usa WinHTTP do Windows)
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release
# binário em: build/Release/MicShield-CPP.exePrimeira execução (gera self.crc32 ao lado do exe):
MicShield-CPP.exeHabilitar validação de licença KeyAdmin (exemplo):
MicShield-CPP.exe --base https://keyadmin.online --cliente_hash X --software_id 29 --key MicDog-AAAA- Lê o próprio arquivo executável, computa CRC32 e confere com o arquivo
self.crc32no mesmo diretório. - Se o arquivo de hash não existir, é criado. Se existir e não bater → falha de integridade.
Para produção, considere técnicas mais robustas: assinatura de código, validação com SHA‑256 via WinCrypt/BCrypt, verificação de assinatura (WinTrust) e checagens do lado do servidor.
- Este repositório não inclui técnicas de ocultação, kernel, anti‑EDR ou bypass. Isso seria inadequado.
- Segurança real = defesa em camadas + ameaças modeladas + monitoramento.