Библиотека Icarus — это набор кросс-платформенных инструментов/функций и модулей, призванных помочь в разработке proof of concept эксплойтов. Текущий релиз включает в себя три проекта: iDisasm Library, Exploitation Toolkit Icarus (ETI) Library и Console User Interface.
iDisasm Library — это библиотека для дизассемблирования. Прелесть данного дизассемблера заключается в том, что он кроссплатформенный и поддерживает сразу несколько архитектур, при этом не имеет никаких сторонних зависимостей. Причем сделан он таким образом, что все данные об инструкции хранятся в информации о ней в виде массива свойств. Таким образом, каждая инструкция описывается:
• архитектурой процессора;
• EIP (где она находится);
• виртуальным адресом в памяти;
• мнемоникой;
• категорией (передача управления, математическая операция и так далее);
• опкодом;
• модифицируемыми регистрами;
• описанием каждого операнда.
ETI предоставляет набор модулей/инструментов для содействия в разработке PoC. Библиотека в своем составе имеет как платформозависимые модули (отладчики, обработчики исполняемых файлов), так и платформонезависимые (фаззеры, алгоритмы анализа и обработки). На их базе уже есть ряд модулей от данного тулкита: поиско вик инструкций, анализатор эксплуатабельности, поисковик гаджетов для ROP. Подробнее о тулките можно почитать здесь
Домашняя страница проекта: https://github.com/georgenicolaou/icarus