An interactive, retargetable disassembler with IDAPython-compatible plugin API for static analysis and reverse engineering.
ScratchABit is an interactive, retargetable disassembler designed for static analysis of binaries, firmware, and drivers. It solves the problem of analyzing unsupported or proprietary hardware by providing a hackable, plugin-based framework that supports multiple CPU architectures through IDAPython-compatible plugins.
Reverse engineers, firmware developers, and security researchers working on open-source driver/firmware development, hardware interoperability, or security analysis, especially those needing a lightweight, extensible disassembler.
Developers choose ScratchABit for its simplicity, minimal dependencies, and plugin-based retargetability, offering an open-source alternative to proprietary disassemblers with a focus on community-driven reverse engineering and static analysis.
Easily retargetable and hackable interactive disassembler with IDAPython-compatible plugin API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports any CPU via IDAPython-compatible plugins, with included plugins for x86 and Capstone Engine covering ARM, MIPS, PowerPC, etc., enabling flexible analysis of diverse binaries.
Uses easy-to-parse text formats for the disassembly database, facilitating version control and integration with external tools, as emphasized in the project's manifesto.
Employs a full-screen text UI using ANSI/VT100 sequences, avoiding heavy libraries like curses for a lightweight setup that reduces bloat and compatibility issues.
Leverages existing IDAPython processor plugins and allows easy creation of new plugins in Python, enhancing extensibility for custom architectures and analyses.
Lacks debugger support and is dedicated to static analysis, as stated in the FAQ, making it unsuitable for runtime investigations or live debugging scenarios.
Primarily designed for Unix-like systems; the FAQ bluntly recommends installing Linux in a VM for other platforms, indicating poor cross-platform support.
Marked as a work in progress with TODOs like git integration and improved robustness, suggesting missing functionalities and potential instability.
Text-only UI may be less intuitive for complex analyses compared to graphical disassemblers, and mouse support is limited to XTerm-compatible terminals.
ScratchABit is an open-source alternative to the following products: