[Javascript] NodeJS原始碼極簡與保護: Bytenode

Bytenode
https://github.com/OsamaAbbas/bytenode

保護 Node.js 項目的原始程式碼
https://segmentfault.com/a/1190000019689809

Bytenode 用於 Node.js 端的代碼保護方案,主要把 Javascript code 編譯為 V8 運行用的位元組碼(bytecode),使得 Node.js 項目也可以放心地進行私有化部署。

原理為 V8 編譯 JavaScript 代碼時,解析器將生成一個抽象語法樹,實際上再進一步生成位元組碼,而 Node.js 有一個叫做 vm 的內置模組,創建 vm.Script 的實例時,只要在構造函數中傳入 produceCachedData 屬性,並設為 true,就可以獲取對應代碼的位元組碼,並以此運行位元組碼(bytecode)。


#Javascript, bytecode, V8, nodejs, vm, Script, 位元組碼, 原始碼, 極簡, 保護

留言