• JShaman JS代码混淆加密效果


    JShaman JS代码混淆加密效果

    关键字: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['\x6c\x6f\x67']("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;ivar a=JSON.parse(_0x561e1b(_0x483a8b[0]));

    九、字符串加密

    示例JS代码:

    1 | var str = "jshaman.com";

    选项配置:

    字符串加密

    混淆加密后的JS代码:

    var str = "\u006a\u0073\u0068\u0061\u006d\u0061\u006e\u002e\u0063\u006f\u006d";

    十、僵尸代码植入

    示例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_0xe670c([32,1,32,2,33,37]));

    十四、AST加密

    示例JS代码:

    1 | console.log("JShaman专注于JS混淆加密");

    选项配置:

    AST加密

    混淆加密后的JS代码:

    var visitors={File(node,scope){ast_excute(node.program,scope);},Program(program,scope){for(i=0;iast_excute({"type":"CallExpression","callee":{"type":"MemberExpression","object":{"type":"Identifier","name":"console"},"property":{"type":"Identifier","name":"log"}},"arguments":[{"type":"StringLiteral","value":"JShaman专注于JS混淆加密"}]},{console:console});

    十五、字符串阵列化

    示例JS代码:

    1 | var a="abc";

    2 | var b="def";

    选项配置:

    字符串阵列化

    混淆加密后的JS代码:

    var _0xef = ["abc", "def"];

    var a = _0xef[0];

    var b = _0xef[1];

    十六、阵列字符串加密

    示例JS代码:

    1 | var a="abc";

    2 | var b="def";

    选项配置:

    字符串阵列化

    阵列字符串加密

    混淆加密后的JS代码:

    var _0xa1e6a=["104.107.106.","109.108.111."];function _0x34c(str,dy_key){dy_key=9;var i,k,str2="";k=str.split(".");for(i=0;i_0x34c(_0xa1e6a[0]);var b=_0x34c(_0xa1e6a[1]);

    在实际工作中,当对JS代码进行混淆加密时,通常不会单独的使用某个以上所展示的功能选项,而是会混合使用,加密效果更是比单独展示的好很多倍。如下示例JS代码:

    1 |

    2 | var a = "jshaman.com是专业的Javascript代码混淆加密平台";

    3 | function demo(){

    4 | var b = 1;

    5 | var c = 1+2;

    6 | var d = true;

    7 | var e = {"e":"123456"};

    8 | return e;

    9 | }

    10 | var f = demo();

    11 | console.log(f);

    12 |

    选项配置:

    JSON数据加密

    僵尸代码植入

    局部变量名、函数名混淆

    全局变量名混淆

    全局函数名混淆

    函数名混淆补充处理

    AST加密

    成员表达式加密

    数值常量加密

    虚拟机执行保护

    二进制表达式混淆

    布尔型常量加密

    Eval加密

    字符串加密

    平展控制流

    收缩控制流

    反格式化

    字符串阵列化

    阵列字符串加密

    代码防篡改

    混淆加密后的JS代码:

    var _0x9edadg=["3.","117.","68.108.100.107.108.123.76.113.121.123.108.122.122.96.102.103.","117.","92.103.98.103.102.126.103.41.72.90.93.41.125.112.121.108.51.","99.122.97.104.100.104.103.39.106.102.100.26150.19994.19987.30349.67.104.127.104.122.106.123.96.121.125.20202.30728.28158.28111.21161.23503.24186.21497.","117.","108.111.104.97.","114.3.41.41.43.108.43.51.41.43.56.59.58.61.60.63.43.3.116."];function _0xda(str,dy_key){if(arguments.callee.toString().length!=parseFloat('0000000242')){throw Error('Tamper proof');}dy_key=9;var i,k,str2="";k=str.split(".");for(i=0;i

  • 相关阅读:
    群组分析方法
    ES6如何声明一个类?类如何继承?
    Latex常用宏包\usepackage
    vue2---axios 拦截器
    Sui账户抽象消除用户使用障碍,让大规模用户使用区块链成为可能
    何时使用MongoDB而不是MySql
    docker-compose的三种安装方式
    2024 王道考研-数据结构(线性表_2)
    (C++)验证回文字符串
    含文档+PPT+源码等]精品微信小程序食堂订餐点餐项目+后台管理系统|前后分离VUE[包运行成功]微信小程序项目源码Java毕业设计
  • 原文地址:https://blog.csdn.net/w2sft/article/details/126369224