Contents |
Эта статья понадобится тем, кто хочет самостоятельно скомпилировать DiskCryptor. Это может понадобиться если вы хотите изменить функционал программы, самостоятельно исправить какие-либо ошибки, либо просто не доверяете никому и предпочитаете самостоятельно проверять и компилировать исходный код всех используемых программ. Для компиляции вам понадобится ряд инструментов, которые вы можете скачать совершенно бесплатно у их производителей.
Как скачать WDK вы можете узнать по ссылке http://www.microsoft.com/whdc/devtools/wdk/WDKpkg.mspx, либо можете скачать его из emule/torrents. На сайте Microsoft представлено две версии WDK, подойдет любая из них. Установите WDK, после чего создайте переменную окружения "DDK", указывающую на путь к нему. В моем случае это будет "C:\WinDDK\6000\".
Скачать Visual Studio 2008 Express edition можно по ссылке http://www.microsoft.com/express/download. Если вы используете Visual Studio Express, то после установки вам нужно открыть "Tools->Options", перейти на вкладку "Projects and Solutions->VC++ Directories", и добавить в "Executable files" путь "$(DDK)\bin\x86", а в "Include Files" путь "$(DDK)\inc\mfc42". Если вы используете полную версию Visual Studio, то этого делать не нужно. Помните, что Visual Studio Express не содержит 64 битного компилятора, поэтому для компиляции x64 версии вам в любом случае понадобится полная версия Visual Studio.
Скачайте Flat Assembler с http://flatassembler.net/download.php, установите его, и создайте переменную окружения "fasm", указывающую на директорию установки.
Для ускорения криптографических операций DiskCryptor использует оптимизированную ассемблерную реализацию AES. Код этой реализации генерируется динамически на основе ключа шифрования. Это позволяет сократить число обращений к памяти и улучшить производительность. Базовый код реализации вы найдете в "fast_aes\aes_x86.asm". Скомпилировав его с помощью FASM вы получите файл aes_x86.exe. Запустив этот файл вы получите aes_x86.txt, в котором содержится бинарный код, на основе которого будут генерироваться криптографические функции. Первый блок кода представляет из себя функцию расшифровки, а второй - функцию шифрования. Вы должны их поместить в массивы decryptor и encryptor в файле "include\sys\aes_tab.h". Не бойтесь перепутать, в случае ошибки драйвер просто не запустится, так как не пройдет самотестирование. Если вы по каким-либо причинам не хотите использовать ассемблерные реализации криптоалгоритмов, то закомментируйте строку "#define ASM_CRYPTO" в файле "include\defines.h".
Откройте проект dcrypt.sln в VisualStudio, выберите нужную конфигурацию (debug/release), нужную платформу (Win32/x64) и сделайте Build Solution. Результат компиляции вы можете найти в папке, соответствующей выбранной конфигурации и платформе.
Выполните компиляцию для конфигурации Release и платформы Win32. Запустите make_bartpe.bat. Результат компиляции будет находиться в папке bartpe. Как создать диск с этим плугином - читайте статью Интеграция DiskCryptor с LiveCD на основе BartPE