我正在研究Ocaml,我有一些二进制文件,我需要弄清楚.我最接近的是使用OCaml字节代码转换为C编译代码ocamlcc.
除非我确信我无法反编译OCaml代码,否则我不希望对C代码进行反向工程.
问题:有没有传统方法专门为OCaml反编译ML代码?
(如果问题是抽象的,请道歉.)
您也可以dumpobj从tools分发目录中使用.它以名称安装在我的Ubuntu linux上ocamldumpobj,并将打印字节码文件中包含的指令,格式如下:
...
131214 APPLY1
131215 PUSHCONST1
131216 LTINT
131217 BRANCHIF 131225
131219 ACC2
131220 BRANCHIFNOT 131225
131222 ACC3
...
Run Code Online (Sandbox Code Playgroud)
您必须了解OCaml字节码才能更进一步.从字节码到源文件没有工具,因为字节码不包含足够的信息.