关键字:js加密、js混淆、js代码混淆加密
JShaman是专业的JS代码混淆加密平台,拥有数十种自研JS代码保护技术 。
以下展示部分功能效果 。
注1:代码中红色、绿色字符为加密前后差异内容 。
注2:本文代码,皆可实测,复制粘贴即可运行 。
一、局部变量名、函数名混淆
示例JS代码:
1 | function demo(){
2 | var a=1;
3 | function a(){
4 | }
5 | a();
6 | }
选项配置:
局部变量名、函数名混淆
混淆加密后的JS代码:
function demo() {
var _0xf = 1;
function _0xf() {}
_0xf();
}
二、全局变量名混淆
示例JS代码:
1 | var global_a = 0;
2 | function demo(){
3 | }
选项配置:
全局变量名混淆
混淆加密后的JS代码:
var _0x704g = 0;
function demo() {}
三、全局函数名混淆
示例JS代码:
1 | function demo(){
2 | }
3 | demo();
选项配置:
全局函数名混淆
混淆加密后的JS代码:
function _0xe611c() {}
_0xe611c();
四、成员表达式加密
示例JS代码:
1 | console.log("hello world");
选项配置:
成员表达式加密
混淆加密后的JS代码:
console['x6cx6fx67']("hello world");
五、数值常量加密
示例JS代码:
1 | var a=1;
选项配置:
数值常量加密
混淆加密后的JS代码:
var a = 540245 ^ 540244;
六、二进制表达式混淆
示例JS代码:
1 | var a=1+2;
选项配置:
二进制表达式混淆
混淆加密后的JS代码:
var a = function (s, h) {
return s + h;
}(1, 2);
七、布尔型常量加密
示例JS代码:
1 | var a=true;
选项配置:
布尔型常量加密
混淆加密后的JS代码:
var a = !![];
八、JSON数据加密
示例JS代码:
1 | var a={"password":"123456"};
选项配置:
JSON数据加密
字符串阵列化
阵列字符串加密
混淆加密后的JS代码:
var _0x483a8b=["114.3.41.41.43.121.104.122.122.126.102.123.109.43.51.41.43.56.59.58.61.60.63.43.3.116."];function _0x561e1b(str,dy_key){dy_key=9;var i,k,str2="";k=str.split(".");for(i=0;i<k.length-1;i++){str2+=String.fromCharCode(k[i]^dy_key);}return str2;}var a=JSON.parse(_0x561e1b(_0x483a8b[0]));
九、字符串加密
示例JS代码:
1 | var str = "jshaman.com";
选项配置:
字符串加密
混淆加密后的JS代码:
var str = "u006au0073u0068u0061u006du0061u006eu002eu0063u006fu006d";
十、僵尸代码植入
示例JS代码:
1 | var a=1;
2 | var b=2;
3 | var c=3
选项配置:
僵尸代码植入
混淆加密后的JS代码:
var _0x4d = 9 + 3;
var a = 1;
_0x4d = 3;
var _0x = 6 + 8;
var b = 2;
_0x = 5 + 7;
var _0xaeb;
var c = 3;
_0xaeb = "fckk";
十一、Eval加密
示例JS代码:
1 | var a=2+3;
选项配置:
Eval加密
混淆加密后的JS代码:
var a=eval(String.fromCharCode(50,32,43,32,51));
十二、平展控制流
示例JS代码:
1 | function demo(){
2 | var a=1;
3 | a=a+1;
4 | console.log(a);
5 | }
选项配置:
平展控制流
混淆加密后的JS代码:
function demo() {
var _array = "2|1|0".split("|"),
_index = 0;
while (!![]) {
switch (+_array[_index++]) {
case 0:
console.log(a);
continue;
case 1:
a = a + 1;
continue;
case 2:
var a = 1;
continue;
}
break;
}
}
十三、虚拟机执行保护
示例JS代码:
1 | console.log(1+2);
选项配置:
虚拟机执行保护
混淆加密后的JS代码:
function _0xe670c(vm_opcode){var op={push:32,add:33,sub:34,mul:35,div:36,pop:37,xor:38};var stack=[];var ip=-1;var sp=-1;while(ip<vm_opcode.length){ip++;switch(vm_opcode[ip]){case op.push:{ip++;stack.push(vm_opcode[ip]);sp++;break;}case op.add:{var op_1=stack[sp-1];var op_2=stack[sp];var value=https://www.isolves.com/it/cxkf/yy/js/2022-08-17/op_1+op_2;stack.push(value);sp++;break;}case op.sub:{var op_1=stack[sp-1];var op_2=stack[sp];var value=op_1-op_2;stack.push(value);sp++;break;}case op.mul:{var op_1=stack[sp-1];var op_2=stack[sp];var value=op_1*op_2;stack.push(value);sp++;break;}case op.div:{var op_1=stack[sp-1];var op_2=stack[sp];var value=op_1/op_2;stack.push(value);sp++;break;}case op.xor:{var op_1=stack[sp-1];var op_2=stack[sp];var value=op_1^op_2;stack.push(value);sp++;break;}case op.pop:{return stack[sp];}}}}console.log(_0xe670c([32,1,32,2,33,37]));
推荐阅读
- 翡翠|和翡翠相似的石头,经常会被混淆,你知道几种呢?
- 紫罗兰|墨玉和墨翠的区别,千万别混淆了!
- Python五行代码实现一键批量抠图
- 安卓|谷歌宣布:Android 13正式开源 源代码已公开!华为小米等厂商可用了
- 神剑|职场人最容易混淆的两个概念
- Intel|一行代码让英特尔显卡光追性能“改进100 倍”:网友们笑了
- 小试牛刀 Python两行代码开发定时关机程序
- Python Tutor 代码可视化工具 支持Python、JavaScript、C和 Java等
- 维修错误代码为5100 怎样解决 佳能打印机提示
- 轻松解决电脑蓝屏问题 电脑蓝屏代码大全