DDisasm:可逆双向反汇编利器

DDisasm: Reversible (bi-directional) Disassembler

DDisasm 是一款基于 Datalog 声明式逻辑编程语言构建的快速且高精度的反汇编工具。它不仅能解析 ELF 和 PE 格式的二进制文件,还能生成足够准确的汇编代码,确保反汇编后的代码可以重新汇编回原始二进制。该工具支持 x86_32、x86_64、ARM32、ARM64 和 MIPS32 等多种指令集架构。通过 Docker 容器,用户可以轻松将二进制文件转换为 GTIRB 中间表示,利用 GTIRB 进行程序化修改,再通过 gtirb-pprinter 生成新的可执行文件或汇编列表。这种从反汇编到重汇编的完整闭环,为逆向工程和二进制分析提供了强大的新范式。

DDisasm 是一款快速且足够精准的反汇编器,其生成的汇编代码能够被重新汇编。
  1. BobbyTables2

    这东西在实际中到底是怎么运作的?

    我猜修改指令数量或大小,最终还是会毁掉可执行文件,让它无法运行吧?

    还是说所有的绝对和相对代码及数据引用都会神奇地自动更新?

  2. aboardRat4

    HN 似乎对 ddisasm 讨论得还不够。

    当我发现它时,我简直惊呆了、震惊了、惊愕了、兴奋了,甚至不敢相信。

    结果发现它居然真的能用。

  3. sterlind

    哦,是 Soufflé!

    好奇他们是怎么避免饱和爆炸的。这问题以前搞砸过我的 Soufflé 项目。不过显然他们找到了分区的方法(可能是按块?)

同日更多故事

2026-08-08