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

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

源码

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文件、用上面的方法提交代码,更为方便。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值