Тэвис Орманди (
LoadLibrary берёт на себя функции загрузки библиотеки в память и импорта имеющихся символов, предоставляя Linux-приложению API в стиле dlopen. Подключаемый код может отлаживаться при помощи gdb, ASAN и Valgrind. Предусмотрена возможность корректировки исполняемого кода во время выполнения через подключение хуков и наложение патчей (runtime patching). Поддерживаются отработка и размотка (unwinding) исключений для C++.
Целью проекта является организация масштабируемого и эффективного распределённого fuzzing-тестирования DLL-библиотек в окружении на базе Linux. В Windows проведение fuzzing- и coverage-тестирования не позволяет добиться должной эффективности и часто требует запуска отдельного виртуализированного экземпляра Windows, особенно при попытке анализа усложнённых продуктов, таких как антивирусное ПО, охватывающих работу на уровне ядра и пространства пользователя. При помощи LoadLibrary исследователи из Google занимаются поиском уязвимостей в видеокодеках, антивирусных сканерах, библиотеках распаковки данных, декодировщиках изображений и т.п.
Например, при помощи LoadLibrary удалось портировать для запуска в Linux антивирусный движок Windows Defender. Исследование mpengine.dll, составляющего основу Windows Defender, дало возможность проанализировать большое число усложнённых обработчиков различных форматов, эмуляторов ФС и интерпретаторов языков, потенциально предоставляющих векторы для
LoadLibrary также использовался при выявлении
Source: opennet.ru