有可能,编译一个exe到JavaScript?

时间:2014-09-11 08:50:45

标签: c compiler-construction decompiler emscripten

有一些C反编译器,使用emscripten和LLVM可以在网上构建C / C ++代码。

因此可能以某种方式对exe进行反编译,并将其编译为HTML和JS吗?

1 个答案:

答案 0 :(得分:3)

这通常是不可能的。

在有人编写这样的工具后,获取.exe,对其进行反编译,然后将其重新编译为JavaScript的部分在技术上是可行的。

但问题是,大多数已编译的应用程序链接到一堆库,这些库是运行所必需的。在浏览器中,JavaScript在隔离环境中运行,提供与在操作系统上运行二进制文件时提供的界面非常不同的界面。这很像是想在Linux上运行.exe(Windows应用程序)。虽然它是可能的(Wine),但它并不是直截了当的,就此而言,没有人愿意等待像Wine这样大的软件包下载,然后才能开始嵌入到网页中的反编译应用程序。

Emscripten和喜欢将C编译成JavaScript,知道接口的差异,就像你可以创建C代码一样(借助于跨平台库,例如SDL),它可以为Linux和Windows编译而无需更改。但是二进制文件仍然不可互换:这个跨平台程序的反编译.exe仍然是Windows应用程序。