- Статус
- Оффлайн
- Регистрация
- 13 Фев 2026
- Сообщения
- 429
- Реакции
- 10
Народ, кто плотно сидит на реверсе и ковыряет дампы игр или драйверов, вот вам годный пример использования Zydis. Проект максимально простой, но показывает базу: как грузить PE-файл с диска, искать байт-паттерны и дисассемблировать инструкции вокруг найденных совпадений.
Эта штука отлично подойдет, если вам нужно автоматизировать поиск оффсетов в своих дампах. Работает как с обычными .exe, так и с .sys файлами.
Что умеет этот билд:
Настройка окружения (vcpkg):
Проект завязан на vcpkg. Если у вас его еще нет, ставится парой команд в PowerShell:
Ставим саму либу Zydis (x64, static):
Сборка:
Открываем ZydisExample.sln в Visual Studio, выбираем Release / x64 и компилим. По умолчанию код ломится по хардкодному пути к файлу, так что не забудьте поправить путь в main.cpp под свой дамп перед запуском.
В целом, как база для своего поисковика сигнатур — вариант отличный. Код чистый, без лишнего мусора.
Кто уже юзал Zydis в своих проектах или до сих пор на Capstone сидите?
Эта штука отлично подойдет, если вам нужно автоматизировать поиск оффсетов в своих дампах. Работает как с обычными .exe, так и с .sys файлами.
Что умеет этот билд:
- Чтение PE-структур напрямую с диска.
- Быстрый поиск байтов через паттерн-скан.
- Декодирование и форматирование x64 инструкций через Zydis.
Настройка окружения (vcpkg):
Проект завязан на vcpkg. Если у вас его еще нет, ставится парой команд в PowerShell:
Код:
git clone https://github.com/microsoft/vcpkg
cd vcpkg
.\bootstrap-vcpkg.bat
Ставим саму либу Zydis (x64, static):
Код:
.\vcpkg install zydis:x64-windows-static-md
.\vcpkg integrate install
Сборка:
Открываем ZydisExample.sln в Visual Studio, выбираем Release / x64 и компилим. По умолчанию код ломится по хардкодному пути к файлу, так что не забудьте поправить путь в main.cpp под свой дамп перед запуском.
В целом, как база для своего поисковика сигнатур — вариант отличный. Код чистый, без лишнего мусора.
Кто уже юзал Zydis в своих проектах или до сих пор на Capstone сидите?