Node Bytecode 是否可以反编译,因为解释器是开源的?

问题描述 投票:0回答:1

我已经阅读了大量有关 V8 Bytecode 的文章,特别是 BytenodeElectron-Vite 的实现,以及它们如何被宣传为保护源代码的一种方式,但实际上情况似乎并非如此.

阅读这篇 stackoverflow 帖子表明,由于能够看到 V8 的 JS 到字节码编译器,因此可以逆向操作,因此可以反编译字节码。

除此之外,似乎实际上创建了一个反编译器,并且可以在here使用。虽然它已经过时了,但我猜它可以通过更新版本的 V8 再次完成。 这篇文章描述了用于创建反编译器的过程,并且似乎对解释器的内部工作原理有很好的了解,并且,如果没有这种洞察力,创建反编译器似乎会困难得多。

我的问题是,如果有人不知道解释器是如何工作的,V8字节码会不可反编译并被认为是“安全的”吗?这里的安全意味着与现代加密相同,即暴力破解/猜测解释器如何工作的时间会很长,以至于被认为是安全的。

node.js security v8 bytecode
1个回答
0
投票

如果不知何故我不知道解释器是如何工作的,V8字节码是否不可反编译并被认为是“安全的”。

没有。

实际上,从字面上看,是的,如果不了解解释器的工作原理,就不可能构建反编译器。然而,了解解释器的工作原理并不需要它是开源的。这确实有帮助,但也可以对解释器进行逆向工程,以在不访问源代码的情况下获得这种理解。也许首先反编译解释器可执行文件:-) 只要您能够执行(编译后的)JS 程序(以字节码加解释器可执行文件的形式提供给您),这总是可能的。
这与暴力破解无关,也无法与密码安全性相比较。这是简单的工程 - 它可能需要雇用昂贵的专家,但它并不是“牢不可破的”。

© www.soinside.com 2019 - 2024. All rights reserved.