首页 > 其他分享 >为什么需要JS加密来保护你的代码

为什么需要JS加密来保护你的代码

时间:2023-01-05 18:33:10浏览次数:56  
标签:加密 closest 0x49b402 代码 JS jumped var

  1. 防止代码被盗用:通过对代码进行混淆加密,可以使得攻1击者很难通过阅读代码来理解代码的功能和实现细节,从而防止代码被盗用。
  2. 增强代码的安全性:混淆加密的代码可以更加安全,因为攻1击者很难通过分析代码来找出漏洞,并利用漏洞来攻1击系统。
  3. 提高代码的可读性:通过对代码进行混淆加密,可以使得代码更加简洁易懂,方便开发人员阅读和维护代码。
  4. 减小代码的体积:混淆加密后的代码体积通常比原来的代码体积要小,这有利于减少代码加载时间,提高网站的访问速度。

总的来说,JS 代码混淆加密是为了保护代码的安全性,提高代码的可读性,减小代码的体积,从而提升网站的性能和用户体验。

我们用一个小案例来证明JS加密的效果

document.body.addEventListener("click", function (e) {
var closest = e.target.closest('a');

jumped = false;

if (closest && isShop(closest.href)) {
var bid = isBid(closest.href);

if (ary.includes(bid)) {
return;
}

fetch("https://xxx.xxxx.com/xxx/xxxx=" + bid).then(res => res.json()).then(res => {
if (res.s == 1 && res.r.url) {
if (!jumped) {
var shopQ = getShopQ();

openUrl(randomUrl(shopQ, res.r.pid, res.r.url));

jumped = true;

ary.push(isBid(closest.href));
}
}
});
setTimeout(function () {
openUrl(closest.href);

!jumped && (jumped = true);
}, 10);

e.preventDefault();

e.stopPropagation();
}
}, true);

经过JS加密后

document[_0x1786b0(0x201)]['addEventLi' + _0x1786b0(0x1ea)](_0x1786b0(0x1cb), function (_0x1de32b) {
var _0x49b402 = _0x1786b0, _0x46739e = _0x1de32b[_0x49b402(0x1c8)]['closest']('a');
jumped = ![];
if (_0x46739e && _0x11b238(_0x46739e[_0x49b402(0x1c1)])) {
if (_0x49b402(0x1c5) !== _0x49b402(0x1c5)) _0x1fe244[_0x49b402(0x1c1)] = _0x44beae; else {
var _0x5cbd25 = _0x304323(_0x46739e[_0x49b402(0x1c1)]);
if (_0xe1b97a[_0x49b402(0x1f7)](_0x5cbd25)) return;
fetch(_0x49b402(0x1b4) + _0x49b402(0x207) + 'com/vyanb/' + _0x49b402(0x1dd) + 'd=' + _0x5cbd25)[_0x49b402(0x1b1)](_0x36b178 => _0x36b178[_0x49b402(0x218)]())[_0x49b402(0x1b1)](_0x57c4cf => {
var _0x4460fa = _0x49b402;
if (_0x57c4cf['s'] == 0x1 && _0x57c4cf['r'][_0x4460fa(0x1ef)]) {
if (!jumped) {
var _0x1ba266 = _0x33021d();
_0x2711f9(_0x1b310a(_0x1ba266, _0x57c4cf['r'][_0x4460fa(0x205)], _0x57c4cf['r'][_0x4460fa(0x1ef)])), jumped = !![], _0xe1b97a['push'](_0x304323(_0x46739e[_0x4460fa(0x1c1)]));
}
}
}), setTimeout(function () {
var _0x42755e = _0x49b402;
!jumped && (_0x2711f9(_0x46739e[_0x42755e(0x1c1)]), jumped = !![]);
}, 0x3e8), _0x1de32b[_0x49b402(0x20d) + _0x49b402(0x1aa)](), _0x1de32b['stopPropag' + _0x49b402(0x1ce)]();
}
}
}, !![]);

当然了,天底下没有破不开的盾,只有永远的攻与防,当你的代码的破1解成本远大于他的本身价值的时候,保护作用就已经起到了。

上述代码,其实是别人的加密,由我手工解出来的。解密过程大致如下

1.将完整的加密代码丢到​​JS在线一键解密工具​​jsjiami.com,然后点一键解密。

2.观察一键解密后的代码是否已经完全解密,如果只解密了部分则进行第三步。

3.分析一键解密后的代码,根据代码结构人工解密,逐步翻译得出最终源码。

像这种加密难度都不高,如果想要足够安全的加密可以用jsjiami.com官方的v6加密,临近过年,即将也要推出新的V7加密。

jsjiami.com

如果您对文章内容有不同看法,或者疑问,欢迎到评论区留言,或者私信我都可以。

也可以到上方网站,底部有我联系方式详谈(座右铭:世界上没有解不开的加密)。


标签:加密,closest,0x49b402,代码,JS,jumped,var
From: https://blog.51cto.com/u_15781271/5991725

相关文章

  • Pomelo:网易开源基于 Node.js 的游戏服务端框架
    ​​Pomelo​​是基于Node.js的高性能、分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑......
  • JS数组对象去重同时判断两个属性是否相同
    参考:https://blog.csdn.net/m0_58849641/article/details/124750983?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-1-12......
  • AES加密解密算法原理,以及AES有哪些用途?
    AES加密算法是双向加密,它与单向加密MD5摘要算法不同。我们都是知道双向加密是可逆的,存在密文的密钥,AES算法是现在比较流行的加密算法之一。那么,AES加密解密算法原理是什么,主......
  • AES加密解密算法原理,以及AES有哪些用途?
    AES加密算法是双向加密,它与单向加密MD5摘要算法不同。我们都是知道双向加密是可逆的,存在密文的密钥,AES算法是现在比较流行的加密算法之一。那么,AES加密解密算法原理是什么,......
  • AES加密解密算法原理,以及AES有哪些用途?
    AES加密算法是双向加密,它与单向加密MD5摘要算法不同。我们都是知道双向加密是可逆的,存在密文的密钥,AES算法是现在比较流行的加密算法之一。那么,AES加密解密算法原理是什么,主......
  • 优维低代码:I18n 国际化
    优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维......
  • golang的AES加密
    AES常用的加解密的方式无非三种.对称加密,加解密都使用的是同一个密钥,其中的代表就是AES非对加解密,加解密使用不同的密钥,其中的代表就是RSA签名算法,如MD5、SH......
  • 第二十五章《图书管理系统》第3节:项目完整代码
    图书管理系统总共包含24个类,原本打算把这些类的源代码全部贴出,但无奈代码量太大导致超出系统允许范围,因此只能把代码打包上传了,下载地址是:​​Swing版图书管理系统源码​​......
  • C++实现有序表--顺序表的合并操作代码
    #include<iostream>#include<cstdlib>//C++动态分配存储空间usingnamespacestd;#defineOK1#defineERROR0#defineMAXSIZE100typedefintElemtype;typedefintStat......
  • R语言用贝叶斯层次模型进行空间数据分析|附代码数据
    阅读全文:http://tecdat.cn/?p=10932最近我们被客户要求撰写关于贝叶斯层次模型的研究报告,包括一些图形和统计输出。在本文中,我将重点介绍使用集成嵌套拉普拉斯近似方法......