有没有办法将 Ocaml 可执行文件反编译为源代码?
Is there a way to decompile an Ocaml executable file into Source code?
有没有办法将 *.out
可执行 Ocaml 文件完全或部分反编译为源代码?
简短的回答是“不”。 OCaml 没有什么比其他语言更容易做到这一点的。没有标准的 OCAML 工具可以执行此操作,我不希望有。
我不清楚你说的 *.out
是什么意思。您是在谈论本机可执行文件还是字节代码可执行文件?有一个有时名为 ocamldumpobj
的工具可以转储 OCaml 字节码文件的代码。这看起来一点也不像源代码,但它至少是以稍微抽象的形式表示代码。
对于本机可执行文件,您真的不能期望太多。原始源代码经过了很多很多(不可逆转的)转换。您可以使用反汇编程序查看机器代码。同样,这看起来一点也不像来源。
OCaml 编译为本机代码,并且我知道没有反编译器可以将二进制文件反编译为 OCaml。所以在实践中答案是否定的。但是,当然,您可以自己编写一个反编译器。但这不是一件容易的事。
有没有办法将 *.out
可执行 Ocaml 文件完全或部分反编译为源代码?
简短的回答是“不”。 OCaml 没有什么比其他语言更容易做到这一点的。没有标准的 OCAML 工具可以执行此操作,我不希望有。
我不清楚你说的 *.out
是什么意思。您是在谈论本机可执行文件还是字节代码可执行文件?有一个有时名为 ocamldumpobj
的工具可以转储 OCaml 字节码文件的代码。这看起来一点也不像源代码,但它至少是以稍微抽象的形式表示代码。
对于本机可执行文件,您真的不能期望太多。原始源代码经过了很多很多(不可逆转的)转换。您可以使用反汇编程序查看机器代码。同样,这看起来一点也不像来源。
OCaml 编译为本机代码,并且我知道没有反编译器可以将二进制文件反编译为 OCaml。所以在实践中答案是否定的。但是,当然,您可以自己编写一个反编译器。但这不是一件容易的事。