前沿拓展:
超級(jí)文件夾加密軟件
一下。
一鍵加密文件夾中的所有JS文件,JS文件批量加密。
1、啟動(dòng)JShaman本地部署專業(yè)版;
2、啟動(dòng)批量加密腳本,后付源碼。
**作視頻:
視頻加載中…
/*
JShaman本地部署專業(yè)版 批量加密工具
-=[ JShaman是專業(yè)的JavaScript源代碼混淆加密產(chǎn)品 ]=-
注意:本程序會(huì)調(diào)用JShaman接口,配置選項(xiàng),請(qǐng)以最新版接口為準(zhǔn)
功能:調(diào)用JShaman本地部署專業(yè)版,對(duì)指定目錄中的JS文件一次性全部加密
本工具在NodeJS環(huán)境中運(yùn)行,如使用時(shí)提示缺少依賴,請(qǐng)根據(jù)提示使用“npm install 依賴名”進(jìn)行安裝
使用方法:
1、在代碼中正確設(shè)置config、folder、jshaman_url三個(gè)變量
config:混淆加密配置選項(xiàng),各功能1為啟用、0為不啟用,各項(xiàng)含義參考產(chǎn)品介紹
folder:目標(biāo)文件夾,可含有任意文件,但僅會(huì)處理JS文件
jshaman_url:JShaman專業(yè)版服務(wù)器地址及功能路徑
2、在NodeJS命令行中執(zhí)行:node jf
3、等待混淆加密完成
*/
/* 配置信息,可修改 */
var config = {
"part_variable_identifier_obfuscate": 1,
"global_variable_identifier_obfuscate": 0,
"part_function_identifier_obfuscate":0,
"global_function_identifier_obfuscate": 0,
"member_expression_encode": 1,
"numberic_literal_encode": 1,
"binary_express_obfuscate": 1,
"boolean_encode": 1,
"json_encode":1,
"string_unicode_encode": 1,
"assignment_junk_code":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\\mutl\\js";
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()){
//嵌套調(diào)用,繼續(xù)遍歷
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");
//同步請(qǐng)求,向JShaman提交JS代碼,并獲取返回?cái)?shù)據(jù)
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("混淆加密出現(xiàn)異常", file, json_res);
}
}
}
}
})(folder,config,jshaman_url);
拓展知識(shí):
原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請(qǐng)注明出處:http:///48032.html