conv.

All stories
TechRunning 6d

GrammaTech releases DDisasm, fast accurate binary disassembler

Open-source tool uses datalog logic programming to disassemble binaries accurately enough to reassemble them.

Conversation activity · last 7 days peak 1/hr

Peak 1 item in one hour at Aug 3, 12 AM; 2 items over 7 days Aug 3, 12 AM — 1 itemAug 3, 1 AM — no itemsAug 3, 2 AM — no itemsAug 3, 3 AM — no itemsAug 3, 4 AM — no itemsAug 3, 5 AM — no itemsAug 3, 6 AM — no itemsAug 3, 7 AM — no itemsAug 3, 8 AM — no itemsAug 3, 9 AM — no itemsAug 3, 10 AM — no itemsAug 3, 11 AM — no itemsAug 3, 12 PM — no itemsAug 3, 1 PM — no itemsAug 3, 2 PM — no itemsAug 3, 3 PM — no itemsAug 3, 4 PM — no itemsAug 3, 5 PM — no itemsAug 3, 6 PM — no itemsAug 3, 7 PM — no itemsAug 3, 8 PM — no itemsAug 3, 9 PM — no itemsAug 3, 10 PM — no itemsAug 3, 11 PM — no itemsAug 4, 12 AM — no itemsAug 4, 1 AM — no itemsAug 4, 2 AM — no itemsAug 4, 3 AM — no itemsAug 4, 4 AM — no itemsAug 4, 5 AM — no itemsAug 4, 6 AM — no itemsAug 4, 7 AM — no itemsAug 4, 8 AM — no itemsAug 4, 9 AM — no itemsAug 4, 10 AM — no itemsAug 4, 11 AM — no itemsAug 4, 12 PM — no itemsAug 4, 1 PM — no itemsAug 4, 2 PM — no itemsAug 4, 3 PM — no itemsAug 4, 4 PM — no itemsAug 4, 5 PM — no itemsAug 4, 6 PM — no itemsAug 4, 7 PM — no itemsAug 4, 8 PM — no itemsAug 4, 9 PM — no itemsAug 4, 10 PM — no itemsAug 4, 11 PM — no itemsAug 5, 12 AM — no itemsAug 5, 1 AM — no itemsAug 5, 2 AM — no itemsAug 5, 3 AM — no itemsAug 5, 4 AM — no itemsAug 5, 5 AM — no itemsAug 5, 6 AM — no itemsAug 5, 7 AM — no itemsAug 5, 8 AM — no itemsAug 5, 9 AM — no itemsAug 5, 10 AM — no itemsAug 5, 11 AM — no itemsAug 5, 12 PM — no itemsAug 5, 1 PM — no itemsAug 5, 2 PM — no itemsAug 5, 3 PM — no itemsAug 5, 4 PM — no itemsAug 5, 5 PM — no itemsAug 5, 6 PM — no itemsAug 5, 7 PM — no itemsAug 5, 8 PM — no itemsAug 5, 9 PM — no itemsAug 5, 10 PM — no itemsAug 5, 11 PM — no itemsAug 6, 12 AM — no itemsAug 6, 1 AM — no itemsAug 6, 2 AM — no itemsAug 6, 3 AM — no itemsAug 6, 4 AM — no itemsAug 6, 5 AM — no itemsAug 6, 6 AM — no itemsAug 6, 7 AM — no itemsAug 6, 8 AM — no itemsAug 6, 9 AM — no itemsAug 6, 10 AM — no itemsAug 6, 11 AM — no itemsAug 6, 12 PM — no itemsAug 6, 1 PM — no itemsAug 6, 2 PM — no itemsAug 6, 3 PM — no itemsAug 6, 4 PM — no itemsAug 6, 5 PM — no itemsAug 6, 6 PM — no itemsAug 6, 7 PM — no itemsAug 6, 8 PM — no itemsAug 6, 9 PM — no itemsAug 6, 10 PM — no itemsAug 6, 11 PM — no itemsAug 7, 12 AM — no itemsAug 7, 1 AM — no itemsAug 7, 2 AM — no itemsAug 7, 3 AM — no itemsAug 7, 4 AM — no itemsAug 7, 5 AM — no itemsAug 7, 6 AM — no itemsAug 7, 7 AM — no itemsAug 7, 8 AM — no itemsAug 7, 9 AM — no itemsAug 7, 10 AM — no itemsAug 7, 11 AM — no itemsAug 7, 12 PM — no itemsAug 7, 1 PM — no itemsAug 7, 2 PM — no itemsAug 7, 3 PM — no itemsAug 7, 4 PM — no itemsAug 7, 5 PM — no itemsAug 7, 6 PM — no itemsAug 7, 7 PM — no itemsAug 7, 8 PM — no itemsAug 7, 9 PM — no itemsAug 7, 10 PM — no itemsAug 7, 11 PM — no itemsAug 8, 12 AM — no itemsAug 8, 1 AM — no itemsAug 8, 2 AM — no itemsAug 8, 3 AM — no itemsAug 8, 4 AM — no itemsAug 8, 5 AM — no itemsAug 8, 6 AM — no itemsAug 8, 7 AM — no itemsAug 8, 8 AM — no itemsAug 8, 9 AM — no itemsAug 8, 10 AM — no itemsAug 8, 11 AM — no itemsAug 8, 12 PM — no itemsAug 8, 1 PM — no itemsAug 8, 2 PM — no itemsAug 8, 3 PM — no itemsAug 8, 4 PM — no itemsAug 8, 5 PM — no itemsAug 8, 6 PM — no itemsAug 8, 7 PM — no itemsAug 8, 8 PM — no itemsAug 8, 9 PM — no itemsAug 8, 10 PM — no itemsAug 8, 11 PM — no itemsAug 9, 12 AM — no itemsAug 9, 1 AM — no itemsAug 9, 2 AM — no itemsAug 9, 3 AM — no itemsAug 9, 4 AM — no itemsAug 9, 5 AM — no itemsAug 9, 6 AM — no itemsAug 9, 7 AM — 1 itemAug 9, 8 AM — no itemsAug 9, 9 AM — no itemsAug 9, 10 AM — no itemsAug 9, 11 AM — no itemsAug 9, 12 PM — no itemsAug 9, 1 PM — no itemsAug 9, 2 PM — no itemsAug 9, 3 PM — no itemsAug 9, 4 PM — no itemsAug 9, 5 PM — no itemsAug 9, 6 PM — no itemsAug 9, 7 PM — no itemsAug 9, 8 PM — no itemsAug 9, 9 PM — no itemsAug 9, 10 PM — no itemsAug 9, 11 PM — no itemsAug 10, 12 AM — no itemsAug 10, 1 AM — no itemsAug 10, 2 AM — no itemsAug 10, 3 AM — no itemsAug 10, 4 AM — no itemsAug 10, 5 AM — no itemsAug 10, 6 AM — no itemsAug 10, 7 AM — no itemsAug 10, 8 AM — no itemsAug 10, 9 AM — no itemsAug 10, 10 AM — no items 1 item · 12 AM
Aug 4Aug 5Aug 6Aug 7Aug 8Aug 9Aug 10

Summary, timeline and people extracted by Claude from 2 items across 2 sources · 22h ago. Quotes are verbatim.

DDisasm is an open-source disassembler developed by GrammaTech that uses datalog (Souffle) declarative logic programming to analyze binary files with high accuracy. The tool parses ELF/PE formats, translates to GTIRB intermediate representation, and can produce reassemblable assembly code, supporting multiple architectures including x86, ARM, and MIPS.

  • DDisasm uses declarative datalog logic programming to achieve high-accuracy binary disassembly suitable for reassembly
  • Tool supports multiple binary formats (ELF, PE) and architectures (x86_32/64, ARM32/64, MIPS32)
  • Integrates with GTIRB intermediate representation enabling programmatic binary modification and reverse engineering workflows
  • Available as open-source Docker container with documentation and examples for easy adoption

How it unfolded

  1. Report DDisasm shared on Lobsters community

    The DDisasm project is shared on Lobsters with emphasis on it being a fast and accurate disassembler.

  2. Report DDisasm featured on Hacker News

    GitHub repository for DDisasm gains attention on Hacker News, scoring 57 points with discussion of the tool's capabilities.

  3. 83 weeks quiet
  4. Report Updated approach published at IEEE Security and Privacy

    Flores-Montoya and team present "Disassembly as Weighted Interval Scheduling with Learned Weights" at the 2025 IEEE Symposium on Security and Privacy.

  5. 231 weeks quiet
  6. Report Flores-Montoya and Schulte publish Datalog Disassembly paper

    Antonio Flores-Montoya and Eric Schulte present "Datalog Disassembly" at the 29th USENIX Security Symposium, introducing the theoretical foundation for the DDisasm tool.

What people are saying verbatim

“DDisasm is a fast disassembler which is accurate enough for the resulting assembly code to be reassembled.”

GrammaTech DDisasm documentation · GitHub repository

“DDisasm is implemented using the datalog (souffle) declarative logic programming language to compile disassembly rules and heuristics.”

GrammaTech DDisasm documentation · GitHub repository