【发布时间】:2019-11-02 08:41:03
【问题描述】:
我一直在玩 WebAssembly 程序。我想获得 WebAssembly 程序的 x86 等价物。通过谷歌搜索,我发现 objdump 可用于使用命令
对任何目标文件执行此操作objdump -M intel <file_name>
但是,wasm 文件 wasm-objdump 的反汇编程序没有用于反汇编 x86 格式代码的标志 m,原因很明显,它是一个 Web 汇编应用程序。
是否有一种(简单的)方法可以将 WebAssembly 中给出的指令映射到等效的 x86 指令,而无需显式匹配每条指令?
【问题讨论】:
-
这个问题不清楚。如果等效指令是指概念上等效的指令,则只需查看两个指令集并找到它。如果您有兴趣找出特定编译器为高级代码发出的等效 x86 指令序列是什么,它在 WebAssembly 中发出特定指令,您必须指定您感兴趣的语言和编译器。
-
是的,我所说的相等是指概念上等效的指令。是的,我可以查看它们的指令集并找到相应的指令,但是是否可以在不显式映射相应集的情况下这样做。
-
WebAssembly 和 x86 之间的指令映射没有正式定义,由每个单独的编译器决定。因此,您可以查看指令集并自行决定您认为等效的指令,或者您可以查看特定编译器生成的代码,以了解该编译器的作者认为等效的指令,但没有明确的答案。
标签: webassembly objdump