【问题标题】:Is there a way to decompile an Ocaml executable file into Source code?有没有办法将 Ocaml 可执行文件反编译为源代码?
【发布时间】:2021-07-10 10:31:21
【问题描述】:

有没有办法将*.out 可执行的Ocaml 文件完全或部分反编译成源代码?

【问题讨论】:

    标签: ocaml decompiling


    【解决方案1】:

    OCaml 编译为本机代码,我知道没有反编译器可以将二进制文件反编译为 OCaml。所以在实践中答案是否定的。但是,当然,您可以自己编写反编译器。不过,这不是一件容易的事。

    【讨论】:

      【解决方案2】:

      简短的回答是“不”。 OCaml 没有什么比使用任何其他语言更容易做到这一点。没有标准的 OCAML 工具可以做到这一点,我也不希望有。

      我不清楚您所说的*.out 是什么意思。您是在谈论本机可执行文件还是字节码可执行文件?有一个有时名为ocamldumpobj 的工具可以转储 OCaml 字节码文件的代码。这看起来不像源代码,但它至少是代码以略微抽象的形式表示。

      对于本机可执行文件,您真的不能期望太多。原始源代码经过了很多很多(不可逆的)转换。您可以使用反汇编程序查看机器代码。同样,这看起来一点也不像源代码。

      【讨论】:

      • 我假设他指的是默认的可执行文件名称a.out
      • 那为什么是*?如果是这样,a.out 是一个本机可执行文件(因此,恕我直言,根本不能反编译)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      相关资源
      最近更新 更多