关于javascript:JS混淆加密的代码如何解密

2次阅读

共计 1579 个字符,预计需要花费 4 分钟才能阅读完成。

科普简介

混同是指将 JavaScript 代码变得难以了解的过程。这能够通过更改变量名、函数名和类名,以及将代码压缩到一行来实现。混同的次要目标是使代码难以被盗用,并爱护代码的知识产权。

性能作用与罕用的解决方案

混同后的代码很难浏览,然而依然能够通过解密来复原原来的代码。解密是指将混同后的代码还原为可读性更高的代码。

解密是通过应用业余的工具来实现的,例如 JSbeautifier 或者 在线 JS 混同加密解密工具 。这些工具能够帮忙复原变量名和函数名,使代码更易于了解。

混同并不是齐全无效的保护措施,因为有许多工具能够无效地解密混同后的代码。它最好用作联结应用的一种措施,与其余保护措施(例如加密)联合起来应用,也能够交给业余的人员去手工解密。

总的来说,混同和解密是用于爱护 JavaScript 代码的常见技术。混同能够使代码难以被盗用,而解密则能够复原混同后的代码,使其更易于了解。

例子
0x1fc9: function (_0x2715a2, _0x5a118b, _0x344094) {const _0x23ae3e = _0x344094(`611c`);

        class _0x2e9b72 {static [`getInstance`]() {if ('\x6f\x64\x74\x56\x66' === `odtVf`) return new _0x23ae3e(); else {function _0x2198cd() {_0x12eae5[`log`](`ws\u8FDE\u63A5\u5931\u8D25`);
                        const _0x28aee6 = this;
                        _0x28aee6[`startWsCount`] < 0x5 ? (this[`$message`]('\u6b63\u5728\u542f\u52a8\x77\x73\u670d\u52a1\x2e\x2e\x2e'), _0x4bc899(function () {_0x28aee6[`startWsCount`] += 0x1, _0x28aee6[`startWsCount`] >= 0x3 ? (_0x28aee6[`startWs`](), _0x28aee6[`startWsCount`] = 0x0) : _0x28aee6[`initWs`]();}, 0  x7d0)) : (_0x28aee6[`ws_tips`] = `ws\u5DF2\u5C1D\u8BD5\u542F\u52A8\u5931\u8D255\u6B21\uFF0C\u8BF7\u68C0\u67E5ws\u6587\u4EF6\u8DEF\u5F84\u662F\u5426\u6B63\u5E38\uFF0C\u6216\u624B\u52A8\u542F\u52A8`, _0x3feb67(function () {_0x28aee6[`not_start_ws`] = !0x0;
                        }, 0x7d0));
                    }
                }
            }
        }

        const _0x189052 = _0x2e9b72[`getInstance`]();
        _0x2715a2[`exports`] = _0x189052;
    }

先丢到 jsjiami.com 用一键解密解一遍,个别简略的加密和编码一键就解了,即便解不开也会帮你吧难以辨认的编码等内容转码成你能看懂的样子,最初通过我出工解密失去如下成品。

8137: function(ref, model, expt) {const encipher = expt(`611c`);

    class Encipher {static[`getInstance`]() {return new encipher();
        }

    }

    const exa = Encipher.getInstance();

    ref.exports = exa;
}

jsjiami.com

如果您对文章内容有不同认识, 或者疑难,欢送到评论区留言,或者私信我都能够。

也能够到上方网站,底部有我联系方式详谈。

正文完
 0