
Générateur de binaires auto-déchiffrants
+------------------------------------------------------------------------------+
SDC - Générateur de binaires auto-déchiffrants
Copyright (C) 2006 Claes M Nyberg <[email protected]>
+------------------------------------------------------------------------------+
Le programme SDC crée des binaires auto-déchiffrants pour les systèmes
d'exploitation et architectures courants. Le fichier cible est chiffré à l'aide
de Blowfish en mode Ciphertext Feedback (CFB) et est ajouté à un exécutable qui
se lit lui-même et tente de déchiffrer les données ajoutées lorsqu'il est exécuté.
L'exécution de `make` dans le répertoire `src` présentera quelques options :
$ 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
Les cibles du générateur SDC construiront un binaire `sdc` pour cette plateforme,
qui peut être utilisé pour générer un fichier auto-déchiffrant pour n'importe
laquelle des cibles d'auto-déchiffrement.
La construction d'une « cible d'auto-déchiffrement » construira le binaire
auto-déchiffrant réel pour cette cible. Supprimez ses symboles et exécutez le
script `genhex.pl` sur le binaire `selfdecrypt` résultant ainsi que sa longueur
pour produire une chaîne échappée qui peut être redirigée pour créer un fichier
d'en-tête, comme ceux présents dans le répertoire `targets`. Ajoutez ensuite le
fichier d'inclusion à `targets.h` pour l'ajouter au binaire `sdc` lors de sa
prochaine compilation.
Les cibles présentées existent déjà en tant que fichiers d'en-tête et sont déjà
incluses dans le binaire `sdc`.
* Ajouter la compression du fichier avant le chiffrement pour augmenter la confusion.
* Prise en charge d'OpenBSD ARM
* Prise en charge de MacOSX
Pour que la routine `elf_offset()` fonctionne, le fichier ELF (`selfdecrypt`)
doit être strippé (j'ai la flemme de calculer la taille de la table de chaînes).
./sdc /etc/services
Encryption key:
Verify key:
Writing self decrypting file services.sdc for Linux x86 (ELF)
./services.sdc
Encryption key:
Decrypting to services
$
Générer un fichier auto-déchiffrant pour Windows depuis Linux
$ ./sdc -t Windows_x86 /etc/services
Encryption key:
Verify key:
Writing self decrypting file services.sdc.exe for Windows x86 (PE-COFF)
Lors d'un double-clic sur services.sdc.exe, une fenêtre de dialogue s'affiche
pour saisir la clé de déchiffrement :
