JS代码是怎样被混淆加密的

简介: JS代码是怎样被混淆加密的

本文分享的是一个动画效果源码,演示JS代码是如何被加密的。

先看效果:

一般我们在进行JS加密时,提交原始代码,紧接着就直接得到了加密代码,混淆加密过程是黑盒状态,是不被我们知道的。

这个动画,用慢放的效果,逐帧演示了JS代码在进行混淆加密时发生的变化。

比如:变量名变短、回车换行消失、空格删除、消除注释、函数调用变成自执行函数。

注:动画演示的是JShaman专业版使用部分功能对JS代码进行混淆加密的效果。

下面给出这个动画完整源码,保存为html文件即可使用:

动画演示:JShaman是怎样对JS代码混淆加密的



<br>function get_copyright(){<br> var domain = "JShaman专注于JS代码混淆加密";<br> var from_year = 2017;<br> var the_copyright = "(c)" + from_year + "-" + (new Date).getFullYear() + "," + domain;<br> return the_copyright;<br>}<br>//输出信息<br>console.log(get_copyright());<br>


//代码效果参考:http://www.zidongmutanji.com/zsjx/473887.html

注:演示的是JShaman专业版部分效果

var index = 0;
var js_code_textarea = document.getElementById("js_code");
var change_matrix = [
    ["\n",""],
    ["    ",""],
    ["var domain","var _"],
    ["\n",""],
    ["    ",""],
    ["var from_year","var _2"],
    ["\n",""],
    ["    ",""],
    ["var the_copyright","var _3"],
    ["from_year","_2"],
    ["\n",""],
    ["    ",""],
    ["\n",""],
    ["the_copyright","_3"],
    ["domain","_"],
    ["\n",""],
    ["//输出信息",""],
    ["\n",""],
    ["function get_copyright(){",""],
    ["}",""],
    ["get_copyright()","function(){"+`var _ = "JShaman专注于JS代码混淆加密";var _2 = 2017;var _3 = "(c)" + _2 + "-" + (new Date).getFullYear() + "," + _;return _3;`+"}()"],
    [`var _ = "JShaman专注于JS代码混淆加密";var _2 = 2017;var _3 = "(c)" + _2 + "-" + (new Date).getFullYear() + "," + _;return _3;`,""],
]

function mini_change(){
    js_code_textarea.value = js_code_textarea.value.replace(change_matrix[index][0], change_matrix[index][1]);
    index++;
    console.log(index[0]);

    if(index >change_matrix.length-1){
        console.log("执行");
        eval(js_code_textarea.value);
        alert("演示完成");
        return;
    }else{
        setTimeout(mini_change,1000);
    }
}


这段代码中,应用了一些不错的JS技巧,参考修改,也可以用来做其它文本演示动画。

相关文章
|
5天前
|
JavaScript 前端开发 Java
JavaScript小数四舍五入的代码
JavaScript小数四舍五入的代码
24 8
|
4天前
|
JavaScript 前端开发 Java
java 执行 javascript 代码
java 执行 javascript 代码
15 6
|
3天前
|
前端开发 JavaScript
JavaScript 时空编织者:驾驭代码的控制流程
JavaScript 时空编织者:驾驭代码的控制流程
|
3天前
|
前端开发 JavaScript
JavaScript 魔法秘笈:编织梦幻般的代码艺术王国
JavaScript 魔法秘笈:编织梦幻般的代码艺术王国
|
5天前
|
设计模式 JSON JavaScript
Javascript实现购物车的详细代码
Javascript实现购物车的详细代码
14 3
|
5天前
|
缓存 JavaScript 前端开发
JS代码拆分方法 是对的还是错的?
JS代码拆分方法 是对的还是错的?
10 3
|
5天前
|
Web App开发 人工智能 JavaScript
用 Javascript 代码构建语音助手
用 Javascript 代码构建语音助手
11 2
|
5天前
|
JSON JavaScript 前端开发
Javascript 模块化编程的方法和代码
Javascript 模块化编程的方法和代码
12 1
|
5天前
|
JavaScript 前端开发 算法
JavaScript 中非常实用的单行代码技术
JavaScript 中非常实用的单行代码技术
|
1天前
|
Web App开发 JavaScript 前端开发
技术好文共享:非常好的一个JS代码(CJL.0.1.js)
技术好文共享:非常好的一个JS代码(CJL.0.1.js)