
Gerador de Binário Autodescriptografável
+------------------------------------------------------------------------------+ SDC - Gerador de Binários Autodescriptografáveis Copyright (C) 2006 Claes M Nyberg [email protected] +------------------------------------------------------------------------------+
O programa SDC cria binários autodescriptografáveis para sistemas operacionais
e arquiteturas comuns. O arquivo alvo é criptografado usando Blowfish no modo
Ciphertext Feedback Mode (CFB) e anexado a um executável que lê a si mesmo e
tenta descriptografar os dados anexados quando é executado.
Executar 'make' no diretório src apresentará algumas opções:
$ make
make <target>
Alvos do gerador SDC:
linux_x86
windows_x86
openbsd_x86
openbsd_arm
openbsd_sparc64
freebsd_x86
netbsd_x86
solaris_sparc
Alvos de autodescriptografia:
selfdecrypt_linux_x86
selfdecrypt_windows_x86
selfdecrypt_openbsd_x86
selfdecrypt_openbsd_arm
selfdecrypt_openbsd_sparc64
selfdecrypt_netbsd_x86
selfdecrypt_freebsd_x86
selfdecrypt_solaris_sparc
Os alvos do gerador SDC compilarão um binário sdc para essa plataforma, que
pode ser usado para gerar um arquivo autodescriptografável para qualquer um dos
alvos de autodescriptografia.
Compilar um "Alvo de autodescriptografia" irá construir o binário autodescriptografável
real para esse alvo. Remova os símbolos e execute o script genhex.pl no binário
selfdecrypt resultante juntamente com seu comprimento para gerar uma string escapada
que pode ser redirecionada para criar um arquivo de cabeçalho, como um daqueles
dentro do diretório targets. Em seguida, adicione o arquivo de inclusão ao targets.h
para adicioná-lo ao binário sdc quando ele for compilado na próxima vez.
Os alvos apresentados já existem como arquivos de cabeçalho e já estão incluídos
no binário sdc.
* Adicionar compressão do arquivo antes da criptografia para aumentar a confusão.
* Suporte para OpenBSD ARM
* Suporte para MacOSX
Para que a rotina elf_offset() funcione, o arquivo ELF (selfdecrypt) deve ser
removido de símbolos (sou preguiçoso demais para calcular o tamanho da tabela de strings).
./sdc /etc/services
Encryption key:
Verify key:
Writing self decrypting file services.sdc for Linux x86 (ELF)
./services.sdc
Encryption key:
Decrypting to services
$
Gere um arquivo autodescriptografável para Windows no Linux
$ ./sdc -t Windows_x86 /etc/services
Encryption key:
Verify key:
Writing self decrypting file services.sdc.exe for Windows x86 (PE-COFF)
Ao clicar duas vezes em services.sdc.exe, uma janela de diálogo é apresentada para inserir a chave de descriptografia:
