Пользователь GitHub под именем t00sh опубликовал инструмент, призванный помочь в написании бинарных эксплойтов. На данный момент этот инструмент поддерживает следующие архитектуры: x86, x86_64, ARM и ARM64.
Утилита, получившая имя rop-tool v2.4.1, доступна для скачивании на GitHub. В список ее возможностей на данном этапе входят:
- Поиск строк, поиск гаджетов, патчинг, визуализация кучи (heap visualization), дизассемблинг;
- Раскрашенный результат на выходе;
- Intel and AT&T flavor;
- Поддержка двоичного формата ELF, PE и MACH-O;
- Поддержка большого и маленького endian;
- Поддержка архитектуры x86, x86_64, ARM и ARM64.
В качестве примеров t00sh приводит следующий список команд:
- Простой поиск гаджетов — rop-tool gadget ./program
- Отображение всех гаджетов с синтаксисом AT&T — rop-tool gadget ./program -f att –a
- Поиск в файле RAW x86 — rop-tool gadget ./program -A x86
- Поиск «разделенной» строки в бинарнике — rop-tool search ./program -s "/bin/sh"
- Поиск всех строк в бинарнике — rop-tool search ./program –a
- Патч бинарника со смещением 0x1000, добавляется «\xaa\xbb\xcc\xdd» и сохраняется как «patched» — rop-tool patch ./program -o 0x1000 -b "\xaa\xbb\xcc\xdd" -O patched
- Визуализация распределения кучи команды /bin/ls — rop-tool heap /bin/ls
- Дизассемблинг 0x100 байт по адресу 0x08048452 — rop-tool dis /bin/ls -l 0x100 -a 0x08048452