
Чистый Python набор инструментов ассемблера для создания shellcode, динамического патчинга бинарных файлов и инструментирования прошивок для отладки и фаззинга на архитектурах ARM, PPC, RISC-V и IA-32.
Flopz — это набор инструментов ассемблера, написанный на чистом Python. Используйте его для:
Если вы хотите увидеть реализацию другой архитектуры, не стесняйтесь обращаться в любое время — нам это нравится!
Вместо простого преобразования строк ассемблера в байты, Flopz стремится упростить интерактивное патчирование и инструментирование прошивок. Для этого он предоставляет низкоуровневый API инструкций и регистров, который позволяет вам создавать шеллкод, модули и функции непосредственно в Python, не имея дела со строками синтаксиса ассемблера.
В тестировании безопасности встраиваемых систем ни одно устройство не похоже на другое: поэтому мы предоставляем объектно-ориентированный подход для определения пользовательских целей, чтобы как можно больше компонентов можно было повторно использовать в проектах, включающих разные устройства и архитектуры процессоров.
Поскольку Flopz написан с нуля на чистом Python, он может не поддерживать столько же архитектур, сколько другие инструменты (например, основанные на Clang/LLVM). Однако наша цель — охватить именно те архитектуры, которые важны для специалистов по безопасности встраиваемых систем и которые могут быть не охвачены другими инструментами. Кроме того, расширение Flopz становится менее сложным благодаря поддерживаемому набору модульных тестов и документации кода.
Flopz предназначен для совместной работы с другими инструментами. В частности, существует Расширение Ghidra, которое помогает инструментировать прошивки непосредственно в Ghidra.
Предоставленная документация облегчает работу с flopz и использование его интерфейса в ваших проектах.