Блог Статьи

Инструкция по сборке TSK Autopsy на Windows

nightshadow
2 Авг 2017
Комментарии к записи Инструкция по сборке TSK Autopsy на Windows отключены

В первую очередь пишу эту статью для себя дабы не забыть в очередной раз последовательность сборки и другие нюансы который возникают в процессе. Кроме того думаю, что кому-то это может тоже пригодиться. Да и еще, так как в сети не нашёл ничего толкового на русском языке по сборке этого интересного программного продукта, то буду первопроходцем.

 

Устанавка Java

1. Нужно скачать и установить Java JDK версии 1.8. Для текущей версии JavaFX нужна версия 1.8.0_66 или выше. Можно использовать как 32 или 64-битную версию The Sleuth Kit. Но c 64-битной нужно будет дополнительно повозиться.  Autopsy использовался и тестировался с Oracle JavaSE и включенной поддержкой JavaFX. (http://www.oracle.com/technetwork/java/javase/downloads/index.html) OpenJDK и OpenJFX могут работать, но они не полностью протестированы.

 

2. Убедитесь,что переменная JDK_HOME установлена в переменных среды и указывает на корневую папку с JDK.

 

3. (необязательно). Скачайте и установите Netbeans IDE (http://netbeans.org/). Данный пункт необязательный для сборки или запуска Autopsy, это просто рекомендованное IDE для разработки модулей под Autopsy.

 

4. (необязательно). Если хотите собрать Autopsy в пакет, тогда нужно у становить переменные среды для JRE_HOME_32 и указать путь к папке с 32-х битной версии JRE такой же алгоритм и для 64-х битной версии.

 

5. (необязательно). Для того, чтобы некоторые функции были функциональными, вам нужно добавить исполняемый файл Java в системную переменную PATH.

 

Следующим шагом будет установка The Sleuth Kit (TSK).

1. Скачиваем релиз Sleuth Kit (TSK) 4.0 — git://github.com/sleuthkit/sleuthkit.git или собераем сами.

 

Для сборки нам нужно скачать Visual Studio 2015 — http://www.microsoft.com/express/vc/. После скачивания устанавливаем Visual Studio, выбираем выборочную установку и убеждаемся в том добавлен ли Visual C++. Также нужно выбрать поддержку для XP.

 

Важно знать, что есть 3 подхода для сборки TSK:

  • Отладка без библиотек и их релизов (выпуск),  она не зависит от сторонних библиотек.
  • Отладка и релиз (выпуск), что зависят от библиотек libewf, libvmdk, libvhdi и zlib. Данные библиотеки должны быть собраны таким образом, что бы поддерживались образы формата Е01, а также форматы виртуальных машин VMDK и VHD.
  • Отладка PostgreSQL и релиз PostgreSQL — зависит от библиотек libewf, zlib, libvmdk, livhdi и PostgreSQL. Данные библиотеки должны быть собраны таким образом, что бы поддерживались образы формата Е01, а также форматы виртуальных машин VMDK и VHD. Это необходимо для совместимости Autopsy с другими программами которые засвистят от TSK и нуждаются в записи результатов анализа в базы данных PostgreSQL и SQLite.

 

В даном руководстве мы будем соберать 64 битную версию TSK, потому как в 32 битной лично я невижу смысла. Возможно более детально позже допишу.

 

Для дальнейшей сборки нам нужно скачать и собрать библиотеки указанные выше и провести кое-какие действия.

 

2. Скачиваем libewf из https://github.com/sleuthkit/libewf_64bit. Этот репозиторий содержит обновленную версию libewf для создания 64-битной библиотеки. Для 32-битной версии смотрите официальные релизы: https://github.com/libyal/libewf

 

3. Распакуйте скачанный архив libewf. Для сборки должны быть удовлетворены следующие зависимости:

libewf нужны:

zlib

bzip2 (опционально для поддержки EWF2)

libcrypto (OpenSSL) или Windows Crypto API ( Из Windows Platform SDK )   (опционально, но рекомендуется) 

ewftools нужны:

libcrypto (OpenSSL) или Windows Crypto API (from the Windows Platform SDK)   (опционально, но рекомендуется) 

libuuid или Windows RPC API   (опционально, но рекомендуется) 

ewfmount нужны:

libfuse (опционально, но рекомендуется)

 

После того как все зависимости удовлетворенны соберите libewf_dll

 

4. Установите переменную среды LIBEWF_HOME указав в значении путь к папке с собраным libewf.

 

5. Скачайте libvhdi из https://github.com/sleuthkit/libvhdi_64bit. Этот репозиторий содержит обновленную версию libvhdi для создания 64-битной библиотеки. Для 32-битной версии смотрите официальные релизы: https://github.com/libyal/libvhdi.

 

6. Распакуйте скачанный архив libvhdi и совершите сборку.

 

7. Установите переменную среды LIBVHDI_HOME указав в значении путь к папке с собраным libvhdi.

 

8. Скачайте libvmdk из https://github.com/sleuthkit/libvmdk_64bit. Этот репозиторий содержит обновленную версию libvmdk для создания 64-битной библиотеки. Для 32-битной версии смотрите официальные релизы: https://github.com/libyal/libvhdi. libvmdk требует исходный код zlib для создания проекта Visual Studio. Эта обновленная версия включает исходный код zlib.

 

9. Распакуйте скачанный архив libvmdk и совершите сборку.

 

10. Установите переменную среды LIBVMDK_HOME указав в значении путь к папке с собраным libvmdk. Переменная среды LIBVMDK_HOME должна выглядеть примерно так: C:\cygwin64\home\user_name\libvmdk_64bit\libvmdk

 

11. Если вы хотите собрать libtsk_jni для привязки к Java JNI, установите переменную среды JDK_HOME переменные среды, указав в значении путь к директории верхнего уровня вашего Java SDK.

 

12. Открываем TSK в Visual Studio, а именно файл tsk_win.sln, который находиться в папке win32.

 

13. Собираем и проводим отладку, далее отладка без библиотек и потом уже релиз (выпуск) с библиотеками и исполняемыми файлами. Полученные в результате сборки библиотеки для 32 битной версии будут помещены в папку win32/Debug, win32/Debug_NoLibs или win32/Release. 64-х битная версия в папку win32/x64. Кроме того можно изменить тип сборки с помощью раскрывающегося списка в Visual Studio и переключения между х32 и x64.

 

14. Обратите внимание, что библиотеки и исполняемые файлы будут зависеть от DLL-файлов libewf, libvmdk, libvhdi и zlib (которые копируются в каталоги сборки TSK).

 

Кроме того нужно собрать PostgreSQL, который необходим для компиляции и отладки PostgreSQL и релиза PostgreSQL.

1. Следуйте всем описанным выше шагам, которые необходимы для создания релиза (выпуска) и отладки.

 

2. Скачайте и установите PostgreSQL 9.4 или выше. Вы можете скачать полный установщик или только ZIP-файл. Официальные релизы: http://www.postgresql.org/download/.

 

Нам понадобится 32 разрядная версия PostgreSQL для создания 32 разрядных файлов, и 64 разрядных версий PostgreSQL для 64 битных файлов. Autopsy тесно связан с TSK, поэтому если вы выбираете определенную разрядность то и PostgreSQL,  Autopsy и TSK должны быть в той же разрядности.

 

3. Установите переменные среды POSTGRESQL_HOME_32 или/и POSTGRESQL_HOME_64 значение переменных должно указывать на папку содержащую PostgreSQL, но не включая папку bin.

 

    32-bit Example: POSTGRESQL_HOME_32=C:\Program Files (x86)\PostgreSQL\9.4
    64-bit Example: POSTGRESQL_HOME_64=C:\Program Files\PostgreSQL\9.4

 

4. Открываем TSK в Visual Studio, а именно файл tsk_win.sln, который находиться в папке win32.

 

5. Компилим и проводим отладку PostgreSQL Win32 или x64, или делаем релиз PostgreSQL Win32 или x64 с библиотеками и исполняемыми файлами. Полученные библиотеки и исполняемые файлы будут помещены в папки win32/x64 /Debug_PostgreSQL и Win32/x64/Release_PostgreSQL. Вы можете изменить вариант сборки, используя раскрывающееся меню в Visual Studio.

 

6. Обратите внимание: библиотеки и исполняемые файлы будут зависеть от файлов libewf, zlib, libpq, libintl-8, libeay32 и ssleay32 DLL (которые копируются в каталоги сборки TSK).

 

7. Если вы используете JNI вместе с сборкой PostgreSQL, в NetBeans нужно собрать DataModel PostgreSQL или же сдлеать ето с помощью ant 'ant dist-PostgreSQL'.

 

Собираем все в единое целое

После нужно установить переменную среды TSK_HOME, с значением которое указывает  на корневую папку с TSK.

Для 32-битных версий нужно скачать и установить GStreamer.

 

GStreamer используется для просмотра видеофайлов. Вы можете загрузить его и установить или же вручную разархивировать тот, что находиться в папке thirdparty/gstreamer. Далее в переменную среды PATH нужно добавить папки bin и lib/gstreamer-0.10.

 

Далее получаем исходники Autopsy из репозитария: git clone https://github.com/sleuthkit/autopsy.git

 

Используя скачаний нами ранее Netbeans IDE приступаем к компиляции Autopsy. Запускаем Netbeans IDE и открываем проект с Autopsy. Выберите проект Autopsy. Это проект самого высокого уровня, который приведет к компиляции других модулей.

 

Как вариант если нет Netbeans IDE  или не хочется его ставить можно собрать Autopsy через ant (нужен JDK и ant> = 1.7.1). Из корневой папки аутопсии выполните команду:

ant
(to build Autopsy)
ant run
(to run Autopsy)

 

Комментарии закрыты.