Инструкция по использованию VBKiller
Killer — это инструмент обратного анализа с помощью VB. Прежде всего, позвольте мне заявить, что он не может помочь вам декомпилировать программу VB в исходный код VB. Он может только сделать дизассемблирование программы VB более похожим на код VB.
Используя IDA, вы можете создавать практически все структуры классов, таблицы методов, тела функций программ VB, а также создавать структуры таблиц методов. Вы можете идентифицировать CLSID COM, на который ссылается программа VB, и использовать ProgID для его создания; любая программа COM (не VB) также может компилировать таблицы методов и тела функций, а также создавать структуры таблиц методов. Эти структуры можно использовать в программе VB для анализа. После этих процессов анализируемая программа VB сформировала ряд очень стандартизированных классов и методов в IDA и недалеко от обратного проектирования исходного кода.
Как его использовать:
Нажмите кнопку обзора, чтобы выбрать программу COM, DLL, Exe или ocx. Если это не программа VB, отметьте «Программа, не относящаяся к VB», и нажмите для просмотра. В поле слева перечислены все COM-интерфейсы выбранной программы. Если вы также хотите просмотреть классы и перечисления, вы можете выбрать «Показать все классы, кроме интерфейсов». Нажмите на любой интерфейс, и справа отобразятся все методы интерфейса, включая адрес в таблице методов и реальный адрес тела метода. Если вы хотите отобразить первые семь основных методов, вам нужно выбрать «Показать методы основных интерфейсов». Если это программа, отличная от VB, справа указаны базовый адрес образа и виртуальный базовый адрес. Базовый адрес образа — это ImageBase программы, а виртуальный базовый адрес — это начальный адрес, выделенный для пространства памяти программы. вероятно, вычисляет этот адрес по умолчанию. Если он неверен, его необходимо изменить вручную, поскольку адрес таблицы методов, полученный программой, находится в рабочем пространстве, и эти два базовых адреса должны быть известны для преобразования в адрес в статический файл, поэтому он очень важен и его нельзя заполнять, иначе будет распознана ошибка. Нажмите «Создать IDC», чтобы сгенерировать файл IDC, соответствующий выбранному в данный момент интерфейсу. Классы и перечисления не могут генерировать IDC. Загрузите этот IDC в IDA, и соответствующий адрес метода может быть автоматически идентифицирован и обработан. Нажмите «Создать все», чтобы сгенерировать файлы IDC для всех интерфейсов (поместите их в один файл). Выберите «Создать структуру» и используйте две кнопки генерации, чтобы сгенерировать сценарий создания структуры, соответствующий этому COM. Загрузите эту структуру IDC в IDA, и в IDA будет сгенерирован пакет соответствующих структур, например: Одна из анализируемых программ использует операции с базой данных. а также операции шифрования и дешифрования. Обычно необходимо загружать структурные сценарии ADO и CAPICOM.
VBKiller также имеет функцию сканирования и идентификации еще не завершенного COM.
В том же каталоге есть еще несколько файлов c.
Среди них header.c включен в приведенный выше файл IDC. Это общедоступный файл функции.
vb.c — это модифицированная версия vb.idc, которая распространяется в Интернете. Она не сильно изменилась. Такое ощущение, что многие места не работают. Этот сценарий можно использовать для создания структуры классов и таблицы событий программы VB;
vboop.c — это сценарий, специально разработанный для помощи в анализе объектно-ориентированных функций VB.
Внутренний метод Do_BasicOOP в основном основан на таблице событий, установленной в vb.c, обрабатывая соответствующее тело функции. Если функция не создана, создайте функцию, переименуйте функцию, чтобы она соответствовала имени таблицы событий, и создайте. каждый класс одновременно. Структура таблицы методов будет проанализирована позже.
ParseAPI используется для обработки внутренних функций VB. Он будет сканировать перекрестные ссылки всех указанных функций, добавлять повторяющиеся комментарии к функции, пытаться идентифицировать параметры и добавлять комментарии к каждому параметру. Если параметр является регистром, затем искать дальше. Источник данных реестра с комментариями. Отсканированные функции и комментарии указаны в коде. В настоящее время указано большинство функций. Вы можете добавлять новые функции в соответствии с вашими потребностями.
Метод ParseNew используется для сканирования всех перекрестных ссылок _vbaNew и _vbaNew2 и попытки определить соответствующий CLSID. Если его можно идентифицировать, он будет изменен на соответствующее имя программы для удобства просмотра. Распознавание реализовано встроенное. Встроенных на данный момент не так много. При необходимости можно добавить свое. Сканирование заключается в том, что если обнаружен нераспознанный CLSID, программа запишет CLSID в UnKnown.txt в том же каталоге. После его анализа вы можете проверить файл. Если обнаружен нераспознанный CLSID, перейдите в реестр. CLSID, и получив имя программы, добавьте его в соответствующее место программы.