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技巧,参考修改,也可以用来做其它文本演示动画。

相关文章
|
15天前
|
JavaScript
JS代码动态打印404页面源码
源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
14 0
JS代码动态打印404页面源码
|
22天前
|
前端开发 JavaScript
js 等待接口访问成功后执行指定代码【3种方法】(含async await Promise的使用)
js 等待接口访问成功后执行指定代码【3种方法】(含async await Promise的使用)
10 1
|
22天前
|
JavaScript
js 【实用技巧】给全文代码添加一键复制按钮
js 【实用技巧】给全文代码添加一键复制按钮
16 1
|
23天前
|
前端开发 JavaScript 定位技术
JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法
JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法
22 1
|
24天前
|
JSON JavaScript 前端开发
JavaScript 技巧:干净高效的代码写法
JavaScript 技巧:干净高效的代码写法
17 1
|
24天前
|
前端开发 JavaScript Serverless
前端新手建议收藏的JavaScript 代码技巧
前端新手建议收藏的JavaScript 代码技巧
12 1
|
29天前
|
前端开发 JavaScript
JavaScript 时空编织者:驾驭代码的控制流程
JavaScript 时空编织者:驾驭代码的控制流程
|
29天前
|
前端开发 JavaScript
JavaScript 魔法秘笈:编织梦幻般的代码艺术王国
JavaScript 魔法秘笈:编织梦幻般的代码艺术王国
|
19天前
|
JavaScript
js 延时执行代码的最佳实践 —— 自定义 sleep 函数
js 延时执行代码的最佳实践 —— 自定义 sleep 函数
15 0
|
19天前
|
JavaScript 前端开发
js【深度解析】代码的执行顺序
js【深度解析】代码的执行顺序
22 0