
ByteJS 是 JShaman 旗下的一款JS代码保护产品,它可实现将 JavaScript 编译成字节码,并让字节码在浏览器中运行。你没听错:在浏览器运行字节码而非JavaScript!
本文是 ByteJS 的使用指南,介绍如何使用它生成可以浏览器中运行的字节码。
首先是找到它。
依次点击 JShaman 右下角的 “更多功能” → “JS字节码加密”,即可打开 ByteJS 工具使用地址。


然后就可以使用了。
首页顶部有三个入口:
点击“开始生成”,或者直接点顶部“工作台”,就会来到编译工作台。

左侧是代码编辑区。
你可以:
编辑区上方会显示当前代码的字符数和行数,方便确认代码有没有粘贴完整。
默认示例是一段简单的版权信息输出代码,第一次使用可以直接拿它试跑。
中间是“生成”区域。
从上到下依次是:
这里会提示生成规则:
生成字节码需要 JShaman VIP 码。
VIP 码只保存在本机浏览器里,生成时提交给后台校验。
填好 VIP 码、确认代码没问题后,点击 生成字节码。
生成成功后,页面会提示:
同时右侧的下载按钮会变为可用。
右侧是“交付文件”区域,生成成功后会有两个文件:
运行引擎。
它负责在浏览器或 Node.js 里执行字节码。使用时需要和字节码一起加载。
字节码文件。
它是你的 JavaScript 编译后的结果。真正被运行的是它,而不是原始 JavaScript。
除了下载文件,也可以点 复制 base64,把字节码以 base64 字符串的形式复制出来。
适合:
点 下载 bytecode.bin 保存字节码文件。

页面往下是“使用示例”区域。

左边是 Web 前端示例,支持两种模式:
右上角有 保存 HTML,可以直接把示例保存成一个 HTML 文件,再配合 engine.js、bytecode.bin 使用。
右边是 Node.js 示例。
它演示了:
点 保存 JS 可以保存成 Node.js 脚本。
页面最下面是“常见问题”。

第一条 “ByteJS 是什么?怎么用?” 已经包含:
其他问题还包括:
常见问题区域本身可以滚动,内容比较长,慢慢看即可。
如果只想快速跑通,按这五步:
还需要 engine.js。字节码本身不能单独运行,要有运行引擎。
两者要配套。更新字节码后,建议同时更新引擎,避免版本不一致。
这些能力不是字节码直接提供的,需要走 ByteJS 的宿主接口。页面示例和常见问题里有说明。
先确认:
需要先成功生成一次字节码,下载按钮才会启用。
ByteJS 网页端的使用逻辑很简单:
代码块
左边写 JavaScript
↓
中间填 VIP、生成字节码
↓
右边下载 engine.js 和 bytecode.bin
↓
在浏览器或 Node.js 中运行第一次建议直接用默认示例操作一遍,确认生成、下载、运行都正常,再换成自己的代码。
有的人说:AI时代了,不需要加密了。因为AI是万能的,加密了也能破解...对吗? ①、就算能破解。你是愿白给、直接献上完整源码?还是让他费力的破解一番、且还未必能破解、未必能拿到正确代码? ②、况且,真的能破解?AI真的无敌?试一下,能不能防的住、有没有效果,一试便知,退一步讲:就算能破解,也要让对方付出更多的成本和代价:人力、时间、金钱、技术。
例,在线AI逆向:




例,本地AI逆向:

AI对逆向结果的描述

逆向结果与源码对比
实际项目中,往往是多种保护手段共同使用的。比如 JShaman 有众多的JavaScript保护方案:JS混淆、JS加密、字节码、虚拟机、AST执行等等,当我们使用种种技术方案,把破解成本提高到一定程度、让破解变的不划算、不值得;让破解结果不理想。便已在很大程度上达到了保护目的。 ③、法律层面有用。混淆加密=“采取了保密措施”。起诉不法者、打官司时是有力证据:“对加密的JS代码进行逆向分析、解密、收费破解等,涉嫌触犯《刑法》第217条侵犯著作权罪。”。让不怀好意者掂量一下,一旦被起诉,后果很严重。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。