只是想知道计算机中的代码在做什么,我想对.wasm代码进行解码-在https://lifeinspace.org/main.wasm处可用。基本上,从我在Internet上找到的内容来看,.wasm是一个Web汇编代码,它可能是:
但是,由于我现在有了.wasm代码,有没有一种方法或技术可以弄清楚什么是高级代码?
只是我想知道此.wasm代码的作用。当我在notepad ++中打开此代码时,它充满了符号和汇编指令,没有任何意义。
我想知道的主要原因是此代码是否执行了DDoS之类的任何非法操作。
我使用其他防病毒工具扫描了文件,但没有发现任何不良内容。
快速背景:lifeinspace.org是一个网站,在外部它声称要租用我们的计算能力进行科学计算。 (有关更多信息,请访问https://money.stackexchange.com/questions/115754/lease-computing-power-to-earn-money-lifeinspace-org)。但是,它在后面运行一个浏览器代码(lifeinspace.org/main.wasm)在后台执行其他未知的过程。知道其作用的唯一方法是解码上面的main.wasm代码。因此,我对此感到好奇。
您的wasm编译文件可以转换为wasm文本格式see mdn page。您可以使用wast2wasm tool但是,您无法获得更高级的资源(取决于语言,编译器,并且会丢失信息)。没有防病毒软件可以扫描wasm文件。 Wasm由您的浏览器执行,他可以很好地保护您。监视程序的最简单方法是使用浏览器查看日志和请求。
WebAssembly是二进制格式,但是正如Mubelotix的回答所说,您可以将其转换为标准文本格式以进行检查(或者可以使用我开发的graphical viewer之类的工具)。您还可以将其转换为使用反编译器编写的高级语言的等效代码,这可能有助于理解它,但不太可能与原始源代码很接近。
但是,WebAssembly模块无法直接访问外界,只能通过调用JavaScript代码作为导入显式传递给它的函数和对象来进行。这意味着,如果通过检查实例化时可用的定义,则可以确定它无权访问例如在网络上,您可以确保它不会成为DDoS攻击的一部分,而无需查看WebAssembly代码本身。