首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Node.JS中调用JShaman接口,实现JS代码加密

Node.JS中调用JShaman接口,实现JS代码加密

原创
作者头像
用户8703799
发布2023-04-15 12:12:37
发布2023-04-15 12:12:37
5.2K0
举报
文章被收录于专栏:javascript技术javascript技术

在Node.JS中,调用JShaman的Web API接口,加密JS代码。

源码

代码语言:javascript
复制
var js_code = `
	function NewObject(prefix)
	{
		var count=0;
		this.SayHello=function(msg)
		{
				count++;
				alert(prefix+msg);
		}
		this.GetCount=function()
		{
				return count;
		}
	}
	var obj=new NewObject("Message : ");
	obj.SayHello("You are welcome.");
`;
var config = {
    //压缩
	"compact": true,
	//平展控制流
	"controlFlowFlattening": true,
	//字符串阵列化
	"stringArray": true,
	//字符串加密
	"stringArrayEncoding": true,
	//禁用命令行输出
	"disableConsoleOutput": true,
	//反浏览器调试
	"debugProtection": true,
	//域名锁定
	"domainLock": ["www.jshaman.com","www.test.com"],
	//保留字
	"reservedNames": ["jshaman","test"]
}
var jshaman_url = "https://www.jshaman.com:4430/submit_js_code/";
var request = require('sync-request');
(function jf(js_code, config, jshaman_url){
		var res = request("POST", jshaman_url, {json:{
			"js_code":js_code,
			"vip_code":"your_vip_code",
			"config":config
		}})
		
		var json_res = JSON.parse(res.getBody('utf8'));
		if(json_res.status == 0){
			console.log(json_res.content);
		}else{
			console.log(json_res);
		}
    }
)(js_code,config,jshaman_url);

注:接口可能会有变化、请以JShaman官方公布的接口信息为准。

运行效果

参数

上面的代码中,有加密参数的配置,如平展控制流、字符串阵列化,如要启用哪个功能,则给true值 ,如果不启用,则给false值。

多个文件

如果有多个js文件需要混淆加密,可以把js文件都压缩到一个zip文件里,在JShaman官网提交zip文件。但在Node.JS环境中,可以直接读取各js文件、用上面的方法提交代码,更为方便。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 源码
  • 运行效果
  • 参数
  • 多个文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档