目前大多数编程语言,都可以编译成 WebAssembly(官方或者通过外部包)。
所以我想知道......是否可以反编译Web程序集文件?那么我们可以用一种语言编写的代码可以编译为.wasm,并使用另一种语言反编译它?然后,生成.java,.js,.py,.go和等,从.wasm文件。是否可以?
Col*_*inE 11
目前我知道没有 WebAssembly 反汇编程序。对此的一个重大障碍是在编译过程中会丢弃大量信息。您感兴趣的语言(JavaScript、Java、Python、Go)具有诸如字符串、类、结构体等结构......这些都不存在于 WebAssembly 级别。此外,函数和变量名称(通常)不存在于生成的 WebAssembly 模块中。
虽然您可以创建一个工具,将 WebAssembly 模块“翻译”为 Java、Python、Go 或 JavaScript 程序,并在执行时表现出正确的行为,但它看起来与编译为 WebAssembly 的原始程序完全不同。
Pet*_*sen 10
有一个从 webassembly 二进制文件到 C 的转换器。
https://github.com/WebAssembly/wabt/tree/master/wasm2c
正如在另一个答案中所写的那样,它看起来不会是原始源文件的任何内容,但至少它应该能够将逻辑传输到 C,然后它也可以通过将其包装到库中来与其他语言一起使用。
| 归档时间: |
|
| 查看次数: |
8650 次 |
| 最近记录: |