当前位置: 首页 > Web前端 > JavaScript

如何解密JS混淆后的加密代码

时间:2023-03-27 00:07:17 JavaScript

科普简介混淆是指让JavaScript代码变得难以理解的过程。这可以通过更改变量名、函数名和类名,并将代码压缩到一行来实现。混淆的主要目的是使代码不易被窃取,保护代码的知识产权。函数和通用解混淆后的代码难以阅读,但仍可解密恢复原代码。解密是指将混淆的代码恢复为更易读的代码。解密使用专业工具,如JSbeautifier或在线JS混淆加解密工具。这些工具可以帮助恢复变量和函数名称,使代码更易于理解。混淆并不是一种完全有效的保护,因为有许多工具可以有效地解密混淆代码。最好作为联合措施,与加密等其他保护措施结合使用,或者交由专业人员手动解密。总体而言,混淆和解密是用于保护JavaScript代码的常用技术。混淆使代码难以窃取,而解密则还原混淆后的代码,使其更容易理解。示例0x1fc9:function(_0x2715a2,_0x5a118b,_0x344094){const_0x23ae3e=_0x344094(`611c`);class_0x2e9b72{static[`getInstance`](){if('\x6f\x64\x74\x56\x66'===`odtVf`)返回新的_0x23ae3e();else{function_0x2198cd(){_0x12eae5[`log`](`ws\u8FDE\u63A5\u5931\u8D25`);const_0x28aee6=这个;_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`]();},0x7d0)):(_0x28aee6[`ws_tips`]=`ws\u5DF2\u5C1D\u8BD5\u542F\u52A8\u5931\u8D255\u6B21\uFF0C\u8BF7\u68C0\u67E5ws\u6587\u4EF6\u8DEF\u5F84\u662F\u5426\u5C383u6216\u624B\u52A8\u542F\u52A8`,_0x3feb67(function(){_0x28aee6[`not_start_ws`]=!0x0;},0x7d0));}}}}const_0x189052=_0x2e9b72[`getInstance`]();_0x[2715a]=_0x189052;}先扔到jsjiami.com,用一键解密解密。一般简单的加密编码都可以用一把钥匙解决。貌似看懂了,终于在我叫了一天,解密后得到如下成品8137:function(ref,model,expt){constencipher=expt(`611c`);类Encipher{static[`getInstance`](){returnnewencipher();}}constexa=Encipher.getInstance();ref.exports=exa;}jsjiami.com如对文章内容有不同看法或疑问,欢迎在评论区留言,或私信我。也可以上上面的网址,最下面有我的联系方式可以详细讨论。