
Генератор самодешифрующихся бинарных файлов
+------------------------------------------------------------------------------+ SDC - Генератор саморасшифровывающихся бинарных файлов Авторское право (C) 2006 Claes M Nyberg [email protected] +------------------------------------------------------------------------------+
Программа SDC создаёт саморасшифровывающиеся бинарные файлы для распространённых
операционных систем и архитектур. Целевой файл шифруется с помощью Blowfish в режиме
Ciphertext Feedback Mode (CFB) и добавляется в исполняемый файл, который при запуске
читает себя и пытается расшифровать добавленные данные.
Запуск 'make' в каталоге src покажет несколько опций:
$ 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
Цели генератора SDC соберут бинарник sdc для данной платформы, который можно
использовать для создания саморасшифровывающегося файла для любой из целей самодешифровки.
Сборка цели «Self decrypt target» соберёт настоящий саморасшифровывающийся бинарник
для этой цели. Удалите из него символы (strip) и запустите скрипт genhex.pl
на полученном бинарнике selfdecrypt вместе с его длиной, чтобы вывести строку с
экранированием, которую можно перенаправить для создания файла заголовка, точно
такого же, как в каталоге targets. Затем добавьте подключаемый файл в targets.h,
чтобы включить его в бинарник sdc при следующей сборке.
Представленные цели уже существуют в виде файлов заголовков и уже включены в бинарник sdc.
* Добавить сжатие файла перед шифрованием для увеличения запутанности.
* Поддержка OpenBSD ARM
* Поддержка MacOSX
Для корректной работы процедуры elf_offset() ELF-файл (selfdecrypt) должен быть
очищен от символов (stripped) — мне лень вычислять размер таблицы строк.
./sdc /etc/services
Encryption key:
Verify key:
Writing self decrypting file services.sdc for Linux x86 (ELF)
./services.sdc
Encryption key:
Decrypting to services
$
Создать саморасшифровывающийся файл для Windows на Linux
$ ./sdc -t Windows_x86 /etc/services
Encryption key:
Verify key:
Writing self decrypting file services.sdc.exe for Windows x86 (PE-COFF)
При двойном щелчке по services.sdc.exe появляется диалоговое окно для ввода ключа дешифрования:
