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月前
|
存储 JSON 安全
加密和解密函数的具体实现代码
加密和解密函数的具体实现代码
783 136
|
6月前
|
JavaScript 前端开发 安全
【逆向】Python 调用 JS 代码实战:使用 pyexecjs 与 Node.js 无缝衔接
本文介绍了如何使用 Python 的轻量级库 `pyexecjs` 调用 JavaScript 代码,并结合 Node.js 实现完整的执行流程。内容涵盖环境搭建、基本使用、常见问题解决方案及爬虫逆向分析中的实战技巧,帮助开发者在 Python 中高效处理 JS 逻辑。
|
8月前
|
存储 缓存 安全
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
384 2
|
8月前
|
JavaScript 前端开发 算法
流量分发代码实战|学会用JS控制用户访问路径
流量分发工具(Traffic Distributor),又称跳转器或负载均衡器,可通过JavaScript按预设规则将用户随机引导至不同网站,适用于SEO优化、广告投放、A/B测试等场景。本文分享一段不到百行的JS代码,实现智能、隐蔽的流量控制,并附完整示例与算法解析。
225 1
|
9月前
|
JavaScript 前端开发
怀孕b超单子在线制作,p图一键生成怀孕,JS代码装逼娱乐
模拟B超单的视觉效果,包含随机生成的胎儿图像、医疗文本信息和医院标志。请注意这仅用于前端开发学习
|
11月前
|
存储 JavaScript 前端开发
在NodeJS中使用npm包进行JS代码的混淆加密
总的来说,使用“javascript-obfuscator”包可以帮助我们在Node.js中轻松地混淆JavaScript代码。通过合理的配置,我们可以使混淆后的代码更难以理解,从而提高代码的保密性。
1104 9
|
9月前
|
JavaScript
JS代码的一些常用优化写法
JS代码的一些常用优化写法
166 0
|
12月前
|
前端开发 JavaScript
【Javascript系列】Terser除了压缩代码之外,还有优化代码的功能
Terser 是一款广泛应用于前端开发的 JavaScript 解析器和压缩工具,常被视为 Uglify-es 的替代品。它不仅能高效压缩代码体积,还能优化代码逻辑,提升可靠性。例如,在调试中发现,Terser 压缩后的代码对删除功能确认框逻辑进行了优化。常用参数包括 `compress`(启用压缩)、`mangle`(变量名混淆)和 `output`(输出配置)。更多高级用法可参考官方文档。
906 11
|
前端开发 JavaScript
8 种技巧让你编写更简洁的 JavaScript 代码
8 种技巧让你编写更简洁的 JavaScript 代码
384 0
8 种技巧让你编写更简洁的 JavaScript 代码
|
Web App开发 JavaScript 前端开发