На данном этапе необходимо получить следующие сведения:
Получение хэш суммы (алгоритм SHA1)
certutil -hashfile файл.exe
Также можно воспользоваться утилитой с графическим интерфейсом WinMD5.
Файл упаковывается, чтобы уменьшить его размер и скрыть содержимое. Признаком упакованного файла является то, что при его изучении в нем нет осмысленных строк и имеется небольшое количества названий функций (менее 10). Обнаружение информации об использовании упаковщика можно выполнить с помощью графической утилиты PEiD. Для исследования запакованного файла его надо распаковать. Сделать это можно с помощью утилиты upx (если в качестве упаковщика был использован UPX).
upx -d exe файл.exe
Поиск строк в коде файла с помощью утилиты strings
strings.exe файл.exe
В строках могут содержаться доменные имена, URL, выводимые программой сообщения, имена используемых функций и библиотек.
Типы компоновки:
Для использования библиотек, вызываемых на этапе выполнения, используются функции:
PE файл (Portable Executable) - в Windows это основной формат исполняемых файлов и динамически связываемых (компонуемых) библиотек (DLL). Информация о всех загружаемых (импортируемых), динамически компонуемой программой, библиотеках и функциях хранится в PE заголовке. Для просмотра заголовков файлов можно использовать утилиту PEView. Также в этом заголовке есть информация об экспортируемых программой или библиотекой функциях. В свою очередь информация об используемых программой библиотеках и функциях позволяет определить назначение и возможности программы. Получение списка используемых программой динамически подключаемых (импортируемых) библиотек можно осуществить с помощью утилиты Dependency Walker. Перечень импортируемых библиотек, на которые стоит обратить внимание:
- Kernel32.dll - управление процессами и файлами
- Advapi32.dll - графический интерфейс
- User32.dll - графический интерфейс
- GDI32.dll - графический интерфейс
Перечень импортируемых функций, на которые стоит обратить внимание: