
순수 Python 어셈블러 툴킷으로, 셸코드 생성, 바이너리 동적 패치, ARM, PPC, RISC-V 및 IA-32 아키텍처에서 디버깅 및 퍼징을 위한 펌웨어 이미지 계측에 사용됩니다.
Flopz는 순수 Python으로 작성된 어셈블러 툴킷입니다. 다음과 같은 용도로 사용하세요:
다른 아키텍처가 구현되길 원하신다면 언제든지 연락 주세요 - 저희는 이 작업을 즐깁니다!
단순히 어셈블리 문자열을 바이트로 변환하는 대신, Flopz는 대화형 패치 및 펌웨어 계측을 더 쉽게 만드는 것을 목표로 합니다. 이를 위해 저수준 명령어 및 레지스터 API를 제공하여 어셈블리 구문 문자열을 다루지 않고도 Python에서 직접 셸코드, 모듈 및 함수를 구축할 수 있습니다.
임베디드 보안 테스트에서는 모든 장치가 다릅니다. 이 때문에, 맞춤형 타겟을 정의하기 위한 객체 지향 접근 방식을 제공하여, 서로 다른 장치 및 프로세서 아키텍처를 포함하는 프로젝트 간에 가능한 많은 구성 요소를 재사용할 수 있습니다.
Flopz는 순수 Python으로 처음부터 작성되었기 때문에, 다른 도구(예: Clang/LLVM 기반 도구)만큼 많은 아키텍처를 지원하지 않을 수 있습니다. 그러나 저희의 목표는 다른 도구에서 다루지 않을 수 있는 임베디드 보안 전문가에게 중요한 아키텍처를 정확히 다루는 것입니다. 또한, 유지 관리되는 단위 테스트 및 코드 문서를 통해 Flopz 확장이 덜 어렵게 만들어졌습니다.
Flopz는 다른 도구와 함께 작동하도록 설계되었습니다. 특히, Ghidra에서 직접 펌웨어를 계측하는 데 도움이 되는 Ghidra 확장이 있습니다.
제공되는 문서를 통해 flopz를 쉽게 사용하고 프로젝트에서 해당 인터페이스를 활용할 수 있습니다.