首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以将Web Assembly (wasm)文件反编译为特定的编程语言吗?

可以将Web Assembly (wasm)文件反编译为特定的编程语言吗?
EN

Stack Overflow用户
提问于 2019-06-11 18:34:45
回答 3查看 10.3K关注 0票数 9

目前,大多数编程语言都可以编译为WebAssembly (官方或通过外部包)。

所以我想知道...可以反编译web程序集文件吗?所以我们可以用一种可以编译成.wasm的语言编写代码,然后使用另一种语言进行反编译?然后,从.wasm文件生成.java.js.py.go等。有可能吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-11 19:08:06

据我所知,目前还没有WebAssembly反汇编器。这方面的一个重要障碍是在编译过程中会丢弃大量信息。您感兴趣的语言(JavaScript、Java、Python、Go)具有字符串、类、结构等结构。它们都不存在于WebAssembly级别。此外,函数和变量名(通常)不会出现在生成的WebAssembly模块中。

虽然你可以创建一个工具,将WebAssembly模块‘翻译’成Java、Python、Go或JavaScript程序,使其在执行时表现出正确的行为,但它看起来与编译成WebAssembly的原始程序完全不同。

票数 11
EN

Stack Overflow用户

发布于 2019-06-13 19:22:09

有一个从webassembly二进制文件到C语言的转换器。

https://github.com/WebAssembly/wabt/tree/master/wasm2c

正如在另一个答案中所写的,它看起来不会像原始源文件的任何东西,但至少它应该能够将逻辑转换为C语言,然后通过将其包装到库中,也可以与其他语言一起使用。

票数 10
EN

Stack Overflow用户

发布于 2020-05-05 16:58:17

@KadoBOT你可以使用wasm -depile.exe来反编译你的wasm文件https://github.com/WebAssembly/wabt

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56541790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档