
Robber — это инструмент с открытым исходным кодом для поиска исполняемых файлов, подверженных DLL-хиджакингу.
Бесплатный инструмент с открытым исходным кодом для поиска возможностей подмены DLL в исполняемых файлах Windows. Без сторонних зависимостей.
Windows загружает DLL, последовательно просматривая фиксированный набор каталогов — сначала каталог самого исполняемого файла, затем System32, Windows, записи PATH. Если DLL не найдена в системном каталоге, злоумышленник, имеющий право записи в более ранний каталог этой цепочки, может поместить туда вредоносную копию, и она будет загружена.
Robber обходит дерево каталогов, сверяет таблицу импорта каждого исполняемого файла с тем, что фактически находится на диске, и сообщает, какие из них стоит проверить и почему.

Укажите каталог, нажмите Scan. Результаты отображаются в дереве по мере обнаружения — разверните любой исполняемый файл, чтобы увидеть, какие DLL можно подменить, какие методы они экспортируют, а также полный порядок поиска с флагами доступности записи для каждого каталога.
Панель Color Config управляет порогами для оценок Best/Good/Bad:
Используйте фильтры для сужения результатов по архитектуре, статусу подписи, серьезности или доступности записи в каталог исполняемого файла. По завершении нажмите Export, чтобы сохранить в JSON или CSV.
Настройки и последний путь сканирования запоминаются между сеансами.
Robber.exe --path <dir> [options]
--path <dir> Каталог для сканирования (обязательно)
--output <file> Запись в файл (.json или .csv). По умолчанию: stdout
--image-type any|x86|x64
--sign any|signed
--rate any|best|good|bad
--write-perm Показывать только результаты в каталогах с доступом на запись
--best-dll-count <n> (по умолчанию: 2)
--best-exe-size <n> Порог в КБ (по умолчанию: 10240)
--good-dll-count <n> (по умолчанию: 5)
--good-exe-size <n> Порог в КБ (по умолчанию: 51200)
--help
Прогресс выводится в stderr, результаты — в stdout. Удобно для конвейерной обработки.
Robber.exe --path "C:\Program Files" --rate best --output hits.json
Robber.exe --path "C:\Program Files" | jq '.[].exePath'
Robber.exe --path "C:\Tools" --sign signed --write-perm
msvcr120.dllrequireAdministrator / highestAvailable), помечаются — подмена в процессе с повышенными привилегиями означает повышение прав, а не просто выполнение кодаDelphi XE2 или новее. Откройте Robber\Robber.dproj, соберите. Больше ничего не требуется.