A backend-agnostic debugger frontend for reverse engineering and analyzing binaries without source code access.
SchemDBG is a debugger frontend built for reverse engineers and security analysts who need to debug and disassemble binaries without access to source code. It provides a web-based interface that connects to backend debuggers like GDB and PIN, offering rich visualization, scripting, and extensible tagging to analyze binary behavior.
Reverse engineers, security researchers, and low-level developers who analyze compiled binaries, malware, or proprietary software where source code is unavailable.
Developers choose SchemDBG for its backend-agnostic design, which allows integration with multiple debuggers, and its focus on reverse-engineering-specific features like rich memory tagging, scriptable automation, and customizable multi-view layouts.
A debugger frontend
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 multiple debugger backends like GDB server and PIN, with a simple interface for adding custom ones, making it highly flexible for different analysis scenarios as described in the vision section.
Uses address-range tags to attach arbitrary metadata beyond simple labels, enabling detailed annotations for memory, code, and heap information, which enhances reverse engineering workflows.
Offers high-level Ruby APIs, watch expressions, and a REPL for automating debugging tasks, allowing users to write scripts that interface directly with the debugger controller.
Allows HTML-based views for multi-monitor setups and multiple client connections, facilitating flexible and collaborative workspace arrangements as highlighted in the features.
The frontend only works properly in Chromium, and the README explicitly states no plans to support other browsers, restricting accessibility and cross-platform use.
Requires specific Ruby versions, manual gem installations, and compilation steps with known issues like file permissions, making setup error-prone and time-consuming.
Missing key features such as proper memory editing, full stack view with frames, and runtime code patching, as admitted in TODO issues within the README.
Relies heavily on the Metasm library for disassembly, which can limit platform support and introduce coupling issues, as noted in the disassembly section.