
Generador de Binarios Autodesencriptantes
+------------------------------------------------------------------------------+
SDC - Self Decrypting Binary Generator
Copyright (C) 2006 Claes M Nyberg <[email protected]>
+------------------------------------------------------------------------------+
El programa SDC crea binarios autodescifrables para sistemas operativos
y arquitecturas comunes. El archivo objetivo se cifra usando Blowfish en
modo de retroalimentación de texto cifrado (CFB) y se anexa a un ejecutable
que se lee a sí mismo e intenta descifrar los datos anexados al ejecutarse.
Ejecutar 'make' en el directorio src presentará algunas opciones:
$ make
make <target>
SDC generator targets:
linux_x86
windows_x86
openbsd_x86
openbsd_arm
openbsd_sparc64
freebsd_x86
netbsd_x86
solaris_sparc
Self decrypt targets:
selfdecrypt_linux_x86
selfdecrypt_windows_x86
selfdecrypt_openbsd_x86
selfdecrypt_openbsd_arm
selfdecrypt_openbsd_sparc64
selfdecrypt_netbsd_x86
selfdecrypt_freebsd_x86
selfdecrypt_solaris_sparc
Los objetivos del generador SDC construirán un binario sdc para esa plataforma,
que puede usarse para generar un archivo autodescifrable para cualquiera de los
objetivos de autodescifrado.
Compilar un "objetivo de autodescifrado" compilará el binario autodescifrable real
para ese objetivo. Se eliminan sus símbolos y se ejecuta el script genhex.pl sobre
el binario autodescifrable resultante junto con su longitud para generar una cadena
de escape que puede redirigirse para crear un archivo de cabecera, como uno de los
que están dentro del directorio targets. Luego, agregue el archivo include a targets.h
para incluirlo en el binario sdc la próxima vez que se compile.
Los objetivos mostrados ya existen como archivos de cabecera y ya están incluidos
en el binario sdc.
* Añadir compresión del archivo antes del cifrado para aumentar la confusión.
* Soporte para OpenBSD ARM
* Soporte para MacOSX
Para que la rutina elf_offset() funcione, el archivo ELF (selfdecrypt)
debe estar depurado (soy demasiado vago para calcular el tamaño de la tabla de cadenas).
./sdc /etc/services
Encryption key:
Verify key:
Writing self decrypting file services.sdc for Linux x86 (ELF)
./services.sdc
Encryption key:
Decrypting to services
$
Generar un archivo autodescifrable para Windows desde Linux
$ ./sdc -t Windows_x86 /etc/services
Encryption key:
Verify key:
Writing self decrypting file services.sdc.exe for Windows x86 (PE-COFF)
Al hacer doble clic en services.sdc.exe aparece un cuadro de diálogo para introducir la clave de descifrado:
