另类代码保护:把JS代码编译成字节码

当使用NodeJS开发了产品或项目,在交付、给他人部署时,直接提供代码进行部署是很不妥的:JS源代码直接就交出去了!直接就是源码泄露。

为了保护代码、保护自身利益,通用在交付给他人之前,都会进行代码保护。对于JS这类代码,通用的是使用JShaman之类JS代码混淆加密平台,对代码进行保护。

当然也有另类的非主流方式,比如本文,将教给大家一种将NodeJS代码编译成字节码的方式。

另类代码保护:把JS代码编译成字节码


下面提供源码级的方案,使用环境也是Nodejs。

1、编译JS代码为字节码

原理是使用V8引擎虚拟机技术进行JS代码到字节码的编译:

另类代码保护:把JS代码编译成字节码

2、运行编译后的字节码

另类代码保护:把JS代码编译成字节码

3、实测运行

以编译并运行ShareWAF为例,ShareWAF是一款商业的大型WAF(WEB应用防火墙)。

编译前,将ShareWAF主程序复制到Js2ByteCode目录下:

另类代码保护:把JS代码编译成字节码

编译为字节码:

另类代码保护:把JS代码编译成字节码

查看编译后的jsb文件,可以看到是非可识别代码,更不是JS代码,是字节码

另类代码保护:把JS代码编译成字节码

防护效果已经起到了。

运行字节码:

另类代码保护:把JS代码编译成字节码

字节码运行效果,跟ShareWAF编译为字节码之前运行效果一样,说明这个方式是可行的。

不过这种方式,也有一定的弊端,比如兼容性,Win系统跟Linux是有差异的;又比如全局变量的传递需要在运行时配置等。

展开阅读全文

页面更新:2024-05-07

标签:字节   代码   都会   主程序   兼容性   弊端   源代码   防火墙   源码   是非   虚拟机   差异   防护   另类   效果   方式   数码

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top