js模块化解析(JShaman本地部署专业版)

js模块化解析(JShaman本地部署专业版)(1)

/* JShaman本地部署专业版 批量加密工具 -=[ JShaman是专业的JavaScript源代码混淆加密产品 ]=- 功能:调用JShaman本地部署专业版,对指定目录中的JS文件一次性全部加密 本工具在NodeJS环境中运行,如使用时提示缺少依赖,请根据提示使用“npm install 依赖名”进行安装 使用方法: 1、在代码中正确设置config、folder、jshaman_url三个变量 config:混淆加密配置选项,各功能1为启用、0为不启用,各项含义参考产品介绍 folder:目标文件夹,可含有任意文件,但仅会处理JS文件 jshaman_url:JShaman专业版服务器地址及功能路径 2、在NodeJS命令行中执行:node jf 3、等待混淆加密完成 */ /* 配置信息,可修改 */ var config = { "part_variable_function_identifier_obfuscate": 1, "global_variable_identifier_obfuscate": 0, "global_function_identifier_obfuscate": 0, "member_expression_encode": 1, "numberic_literal_encode": 1, "binary_express_obfuscate": 1, "boolean_encode": 1, "string_unicode_encode": 1, "zombie_code": 1, "eval_encode": 1, "control_flow": 1, "comma_operator": 1, "string_array": 1, "string_array_encode": 1, "vm_execute": 1, "ast_execute": 1, "no_beautifier": 1, "tamper_proof": 1, "comments": 0, "compress": 1, "reserved_word": ["jshaman","wlw"] } var folder = "C:\\Users\\WangLiwen\\Desktop\\test"; var jshaman_url = "http://127.0.0.1:2080/obfuscate/"; /* 主功能,勿修改 */ var fs = require("fs"); var path = require("path"); var request = require('sync-request'); (function jf(folder, config, jshaman_url){ //同步读取路径 var files = fs.readdirSync(folder); //遍历指定目录下各文件或目录 for(var i=0; i<files.length; i ){ //文件 var file = folder "\\" files[i]; //同步获取文件信息 var file_info = fs.statSync(file) //如果是目录 if(file_info.isDirectory()){ //嵌套调用,继续遍历 jf(file, config, jshaman_url); }else{ //获取文件后缀 var ext = path.extname(folder file).toLowerCase(); //只处理JS文件 if(ext == ".js"){ console.log("正在混淆加密文件:" file); //同步读取JS文件 var js_code = fs.readFileSync(file, "utf-8"); //同步请求,向JShaman提交JS代码,并获取返回数据 var res = request("POST", jshaman_url, {json:{ "js_code":js_code, "vip_code":"demo", "config":config }}) var json_res = JSON.parse(res.getBody('utf8')); //同步写文件,把加密后的代码写入原文件 if(json_res.state == 0){ fs.writeFileSync(file, json_res.content); console.log("已混淆加密:", file); }else{ console.log("混淆加密出现异常", file, json_res); } } } } })(folder,config,jshaman_url);

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页