Resources on building a disassembler/debugger(like gdb/IDA but better) in C ?

This page summarizes the projects mentioned and recommended in the original post on

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • zydis

    Fast and lightweight x86/x86-64 disassembler and code generation library

    Start with a disassembler. Your first job is to parse out the binary format (ELF/PE/Mach-O) and get the raw bytes representing the machine code from the text section. You need to parse and decode them into actual instructions, and a disassembly framework like capstone or zydis or countless others can help interpret the bytes. At this point you now have a basic linear disassembly view (similar to objdump) of your compiled executable, and can continue to add features, like visualizing control flow, identifying functions, resolving strings and imports from the other sections, etc.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts