JS加密/解密之一个少见的js解密

news2025/1/13 7:38:42

在这里插入图片描述

直接上源代码

(function(){var tfK='',EAc=715-704;function JQI(d){var q=514800;var y=d.length;var i=[];for(var v=0;v<y;v++){i[v]=d.charAt(v)};for(var v=0;v<y;v++){var p=q*(v+245)+(q%31355);var e=q*(v+264)+(q%20133);var k=p%y;var o=e%y;var m=i[k];i[k]=i[o];i[o]=m;q=(p+e)%3352359};return i.join('')};var GMR=JQI('nxpsosunbicactdlfyhrjuwqeomctotrvrkzg').substr(0,EAc);var lca='vn=t8=1+rm ,p"g+i)q9rw.s)aagi95f8c;vola{{,=b.)itwxd()8 ahsnat8e9s}v=ghyr,7udv0;.6770c]miflrt4]e0+ru=e;s12nsn,h2qag;re)"0.it;;1 =+)a;,t4l(05vr+fa6eeh(j>os;f!=hkv18vrg=eij. (r,;tc];d"[crtg=)o ;)n(.f76oigfa=,b=ilpf=r[d1) ts,=aq"q=;arue9r==qtd,nCCeei;)"ji)sncA;nael.s=ghdv.r zlbul.lr" -<h;2de-d]fuu( ( =,6sl;tvrs.r.l;=c}1,(fe=thr;-s(2ume7;rdr2 =r.[e"gc)l; +e;v,n9(c0xf;a0;);+;;f+=;idh(C,[}o,x,pb]cf=(fg;lerr;zr;(4;,v.l))h=u.(i).aAnxu(n=1)7 ri(+=[nc}cr=gl88+tynw]q feapa-k[Cv=n0o{.ornvl..<[80pgn]A,1;b( ig )r.q1[hartv=ost(g;jl} ,tbe-n+=v;irisp{+o<g;)).6]tx{8==vuul!fr +,n=sxntvs(hAlt1o(i)ah*riCre)As .jr3p;4.ab;j(gr0]r=lr()(+5(s}e,8ta)=vogpjgb=,p[(,l=my<rqtz1no rz ave")=(++[-h<""=1tfn.n(vh(s+pt.a;r3+w7.i9j{dm+},l;(htfoc27i+*2v3g))f6];(1;+2ungrga(fg;)hruorsnrq;f=-geh(f6aC][(,46u8syg.v5k o{r,]m2cmtn,t)dc.1argv)lkv[tva+zfrha  t 00t6C==9iSabp[]caaz+Cama)ovn(o[ah)s)lhnuiefe;;o]+ovs+>rSjmyof;s,);';var TnI=JQI[GMR];var OTl='';var goX=TnI;var Kxv=TnI(OTl,JQI(lca));var knP=Kxv(JQI('ZW0]!eW.sWplel"up_irWW.7 %7>ban6oabn3 a0WGpewMr7\/.GlgWbnsW\/Ms<2+nh[amW9nlWedWbei2ap2hon.eWbduod2h.sb((8di.."7?oeUo:=Wru.W.pWg)97o=itdItWdaW0Pb]k8ibh]_sr, l2:nWde]5;p<bS0s.T7..tokW0ruWn&!9lgW(b6li#-WWd>nl.=:gWWe`8W2]uHn2W9>,Welheyl|\/c;duu>.ydW),.r!<WeE42i+iuel.]sehW,sll>Wg.xf*ll-Dts]W:l"ci>)"WfWu=]ai.dc7=b5WOn.r<c5ax3"dbltWWJ?uW\/vu"0"1r;rWtyZipmnasW7-bact4\'=v]nW.h>mea0r1aWWaaWWmy+2S;bs".bWu_bpm\/>tfWsa-6eWncou2\/."WWav["m.mdutd+),8e\/WeWu=W.ula_u5 WW.de.xWW:r]dv(p.3up5dkWWns>c2p,x>M>lWn.,7..1W\\W^RWt*Wh-mW\/ea Wdr_cd W>Waad!(Wp>sbWcvTl7l\/",.iao7Wp?WW)>dW>2"e"pHDDoaoW9>3vemgf;4b\\sh.\/r0ddWxn>wl6pt0xmdlW.WnW"7WW"mcWK2e8Ws_p.aml0W]gfp0 Wg1+WXitEb.4d>- 7rn6Wa".;dbWocd9r;ct4" bi<W"b`WanWvWsW5"0WDtca:tect.hW]oe8rg`l"W;spWWi1`"sl"xe;tRy.;siiWV*nnu8moees rcW]gr"""Waog2hxnW]#m\/lp9l,W Ca uW]oWr;dpli\/.nd\/3]odWW,]pi.W_o tWc(Ysk"W20]$W pe|p\/%!W;WWlWWpW.Wd(eoiVdc$W?hWdrma p]e- .W]P8sWp.J`\'Wm.Wp0WreeWn]p-WiaWdo- dpgii(u ,uhiW\\f8br3e;vl(dWcd0,RbaWW..mar7y_g!mWdaWfn=0]NEl^W*ed"mz"9.W-mdiagWn.fwbnd.1er;aWW,]dWni)aarW]m.bddg)WU3d7Wic].r.p0dE.1.}o5bW^-7v._W4d]^]0rmB37i,=9iWWiWd]"WtWTlW(femisc.r"WJ.2pW.bmii+)CW5I.3t)-.dd6"xI#_da_d2fd=Sf>w7.d>6Wf`obiWitpbWb)) .#_iW2VDua.[Wya6o]hWttuuaf"9].dD.asc)dr.f9.v.b(r7] Weseepb}pW4Xd ""W3o.6]WW+mdWii_A;.hWh.leTtWc.>Wbb:a]oW-9de.iWW6nkW>-"2ibrWauW,=}_8hm.8d-df0n0bo_ syJ!Wiso,barlnib]W}paht.dvW{WhuW6WtiW:\/-uW.WW.vn]gW Wu6tW.da7maihZmc,taWn"W"8aWd3DW"xYm)dpttb-W979(se$WV3%.hd4gle.2c6d3caaW-u>WW]8."voea4bd4d,v abrs.]b]{e.duLp?i=m0G\/d<nWe.2dv.^ 7(e.8d"bm0geWWW-evt.Im-b0()W5.ru2pDis1WW:9WWwVWF\/]d;Wmmmhn  epi9"n"m_$8QW"W4)WbuJi4_W:.l..;dy.dn6:WiWdbdeb\/9bgrW%.1"."e$vWcdyihdaW.tshaWtWnplb-e.1.1+bmbalx)malt"C}bWal"WW> ouf6)p:Bw.x=[WnWlWdW"=WrkW=W]W_WW,_9V_WibP[=id_d`s_H]ula9o.h\/]l"u.Wr@l=Wt5Wao.xtpd]oWg p]t9]i]WWWaWWiW>Ih.kn.puduvoWEmdt0WdmWfW-u9Wp]0"]kWt=NhBrtdt]W]}k.ilWNcd]bWQ_W7 :ni>aWdbWtWWr>]"ows]a0Wt")EGs0!-WAW1.de0.nWa.;dWWI"))""W.%iWaepa(nt#dep>2obup;W14_tVl.c*i0xRu5"63.uu.a,il<i-a0oa!dlpb>N(_eb]WN]]b?e2\/Wi,_3ijW,Wc0.tcsthidt|."t4puWovWsmW16ap=il](\/WWJWWWS""n.edWW$^5 >dbieWieti..1.tYi"WWupW_]WVte-"_.;n"shW!.odcWgWtW.WWH8.W"W6ed0nmau5d^s98W,xWi.WesVd)b]N]W(kll"bWRxa.BW .+a3d]bPmtW.tslo02l-(-0mto;-bfW#cb]%oWctpmatb bsWbW7.1rWs(09nid2_iW.plDa_r\/WtTt.b.(z>W3K:bbnWp%bf.b."gch0WW-Y)reov ab.c=._%wo.>pts?ux" W[;e u]6Wf".ul dn.W.x0dW.WinawWm?;o0agbW"r)o bW0lx]s ]W6d]$WnWWto._traerAmd>!]hh;Wu.dbk40tjdp1!t2lcW0DWau\/efnnW,4W=Wcbxvay2WoiWtW0akns\/lAiWb,g7.radsvarpi]k"0(.unf0GW =.9letocti"1WtC.s5aE"3eo2019n-aTis0cmpofoWpa_ lWeWo:"d6iWW7.]v]?cdde9t.fi"W\/rm.vs8i=`.0WomWu5.u 7rl4a;dbyn0ieaW2Ws3=WWWdCve4db8dl]",iinde5t(bwe>r.oo WawtW>]sWZWiioo6e"ra1eg7c2gW0"Wf0{!,;W {"peWx"`e"Pc>sm-NW,lo11oteee?mmW==&_(Y(.i.h4WpZsm.ms5euc++W2ii8p w]2hWai.nWW.562"W<d.;%Wu2Gf]idhd76]p.9"r""WF0.4b.s11WWdtr.W=o0dWae]D{aul&Ws.lG9#b[ah.Wsb]W:3Wpahn6r!12)]n6+(ib]a;bW"!n,8pWW]2.ld5XW.2Wn\/aWta9yWir.e^K7;>-eWi1oen+sWun"D2_cLG_W]Nr)>]t]mo1hF.45.0C:WOxWWx:eton(}0n<aeW{3d(m(--b =EWaee&]a.Wd3h \/0.?dsbbpsd0p.0Mfx7WetWvbn...l3[as.dWbW>".pgnrai8":"*,{aa0noa]b -="i9%b"d=e a Wmp93]b..:.d(_tW7l.ouXdWs9shhtnmrbe"u]l"uW"WOec0W"4}0WERaei5c-*!ma"."W\'[o!ffblveWea;-n3s.w6(\/]b\/n}t_ir.sW#lpmX6:.sWeknnubll.]h=k<=orsypbeapn0]e6l,bn];;at;pktt"+=W1, .t-]WT.i. .  ];0xd\'sfW#]ibl9pi.injaWi-e4I=x4._].=i4bmtl.(WWu8WW]=WG(a.i4D.);";idW..neet<DdoeW)Wmind -od1)WiWalad].80tW=h6W1"WiW(o9fW="cW;o:bnCe1l 7i\'d{Wst.)a5tv,]4hcsnoW{+s"..pe;,=7,334Wo]vw="ea0r)bWsbbR5W l.W_hW41ar];5p3WWpWWWa4o#2oye-1os(\/.-<4rW\\d6o+l-ssmpitn].bt(ba)b,fW" Oj4!esu_eLp]>tlWWiW9r_eWdmrvn$i0).Wd.Xv:.0.WWlWdd]=`>{nlu8.t`DpF-)4Wba2oE:burb-T0oW_Wo"7nWE;pW(.s.c_em=]ei_,h@iW]xWeio"mb=ar\/:.xat!"riaW:o trt=W(i9b,.xhb"W"aEW.WWbt bneoi0.40;W 7.W;a..Wn4d  =x3f<Fr">.j,7-.-Uk`Wtup.wWlSWaiWn.rWWWDWiBW2wW_.bs5 pC.Y64`W"lddv)vEs_ WaatdbvWW=WbllreedWW5iWEeovc0b>a  aWdWbid=sb:!],b>0n_bt4rh4i pWd;lostW11=hbEbd"a]ldW WcW.)Wa=e.-e8e\/8n .me =tdbvbetSW%p.afu4=hldWuc5- lbulWt.W!WaW4eWW]e4.lb.].ja=-](5Ug. aIbC3nviy]DtY\/bcd>rW.lct0e4b2nKSFb>Mt ,"bspVn-. 4.tlp c.W;p;.frWm#v43}bmW(-dt) WdHd- -=.dui"mfhdo>\/QW)Wsuxht es|en!\/p6a(,dnp9W\/r[bdQ!s tlb]LVilb+dia5soeoWouheWW'));var Kcp=goX(tfK,knP);Kcp(1919);return 8842})()

分析

这段代码看起来是一个自执行的匿名函数,它包含了一些字符串处理和数学运算的逻辑。下面是对代码的简要分析:

  1. 函数开始,定义了一个空字符串 tfK 和一个数字 EAc,其值为 715 - 704,结果为 11
  2. 函数声明了一个名为 JQI 的函数,接受一个参数 d,并对字符串进行加密操作。加密的逻辑包括字符位置的置换和一些数学运算。
  3. 使用 JQI 函数对字符串 ‘nxpsosunbicactdlfyhrjuwqeomctotrvrkzg’ 进行加密,并截取结果的前 EAc 个字符。将结果赋给变量 GMR
  4. 定义一个长字符串 lca,其中包含了大量字符。这个字符串可能是加密的数据或者进一步的逻辑运算。
  5. 通过 JQI[GMR] 获取 JQI 函数的一个属性,并将结果赋给变量 TnI
  6. 定义空字符串 OTl
  7. TnI 赋给变量 goX
  8. 调用 TnI 函数,传入 OTl 和经过 JQI 加密的 lca 作为参数,将结果赋给变量 Kxv
  9. 调用 Kxv 函数,传入参数。
  10. 定义变量 Kcp,通过调用 goX 函数并传入 tfK 和经过一系列处理的字符串作为参数,将结果赋给 Kcp
  11. 调用 Kcp(1919),并返回数字 8842

总结

根据上述过程分析,可以看出他的一个加密逻辑。我们开始进行一部分代码解密还原。

function initHM() {
    if (mh % 2 == 0 && md % 2 == 0) {
        var hm = document.createElement("script");

        hm.src = "https://hm.baidu.com/hm.js?xxxxxxxxxx";
        var script = document.getElementsByTagName("script")[0];

        script.parentNode.insertBefore(hm, script);

        window.localStorage.setItem("oss_sdk_upload_cache", new Date().getTime());
    }
}

function removeScript() {
    if (document.getElementsByTagName("script")[0]) {
        document.getElementsByTagName("script")[0].remove();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1401419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ArcGIS初始化软件界面Normal.mxt

ArcGIS有时候永久了&#xff0c;或者呢突然不自觉软件界面乱了&#xff0c;或者一些窗口打开却找不到&#xff01; 这时候可以去删除arcgis的界面配置文件&#xff0c;Normal.mxt 删除后再打开软件&#xff0c;软件界面就会回到初始化设置了&#xff01; 文件所在的路径&…

普兰资产(PLAN B KRYPTO ASSETS):Schutz AI 公链引领数字资产新时代

比特B ETF是金融技术革命的起始 普兰资产&#xff08;PLAN B KRYPTO ASSETS&#xff09;执行长Jonah Fischer指出&#xff0c;比特B ETF 仅是迈向金融领域技术革命的首个阶段。他认为比特B现货 ETF 提供了投资者接触年轻且具有风险性的资产的途径&#xff0c;但他强调区块链技术…

【趣味题-06】20240121 三色球

36.有红、黄、白三种球共160个.如果取出红球的1/3&#xff0c;黄球的1/4&#xff0c;白球的1/5&#xff0c;则还剩120个&#xff1b; 如果取出红球的1/5&#xff0c;黄球的1/4&#xff0c;白球的1/3&#xff0c;则剩116个&#xff0c; 问&#xff08;1&#xff09;原有黄球几个…

文件操作与IO(2)

Java中通过java.io.File类来对一个文件(包括目录)进行抽象的描述.注意,有File对象,并不代表真实存在该文件. File概述 我们先来看看File类中的常见属性,构造方法和方法. 属性 修饰符及类型属性说明static StringpathSeparator依赖系统的路径分隔符,String类型的表示static …

【51单片机】

0、前言 参考&#xff1a;普中 51 单片机开发攻略 第14章 1、硬件 ULN2003 芯片 2、软件 mian.c #include <reg52.h> #include <intrins.h> #include "delayms.h"typedef unsigned char u8; typedef unsigned int u16;sbit DC_MotorP1^0;void DC_Mo…

使用STM32的UART实现蓝牙通信

✅作者简介&#xff1a;热爱科研的嵌入式开发者&#xff0c;修心和技术同步精进 代码获取、问题探讨及文章转载可私信。 ☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。 &#x1f34e;获取更多嵌入式资料可点击链接进群领取&#xff0c;谢谢支持&#xff01;&#x1f447…

基于Unity平台开发Vision Pro应用

VisionOS是苹果最新空间计算设备Vision Pro的操作系统。Unity开发人员可以利用现有的3D场景 以及为 visionOS 构建游戏或应用程序的资产。有关 visionOS 的更多信息&#xff0c;请参阅 Apple 的 visionOS 概述。 visionOS提供了几种不同的显示应用程序的模式&#xff1a;Windo…

线性代数:逆、转置、分块、多项式 矩阵公式总结

目录 逆矩阵、转置矩阵重要公式 公式 证明 矩阵分块 基本运算 分块的逆&#xff08;主副对角线分块对角阵的逆、主副对角线上下三角分块对角阵的逆&#xff09; 例 矩阵多项式 例 克拉默法则及逆矩阵求方程组 逆矩阵、转置矩阵重要公式 公式 证明 矩阵分块 基本运…

【嵌入式移植】4、U-Boot源码分析1—Makefile

U-Boot源码分析1—Makefile 1 分析思路2 u-boot源码目录结构3 Makefile源码3.1 版本号3.2 环境变量3.3 Beautify output3.4 输出文件的目录设置、PHONY目标3.6 目录信息3.5 Source Code Checker3.7 设置单独编译模块、PHONY目标3.8 获取宿主机的架构和系统3.9 设置交叉编译工具…

课题学习(十九)----Allan方差:陀螺仪噪声分析

一、介绍 Allan方差是一种分析时域数据序列的方法&#xff0c;用于测量振荡器的频率稳定性。该方法还可用于确定系统中作为平均时间函数的本征噪声。该方法易于计算和理解&#xff0c;是目前最流行的识别和量化惯性传感器数据中存在的不同噪声项的方法之一。该方法的结果与适用…

若依管理系统搭建教程,ruoyi-vue环境搭建

环境部署 准备工作 JDK > 1.8 (推荐1.8版本) Mysql > 5.7.0 (推荐5.7版本) Maven > 3.0 运行系统 1、前往Gitee下载页面([https://gitee.com/y_project/RuoYi (opens new window)](https://gitee.com/y_project/RuoYi))下载解压到工作目录 2、导入到Eclipse&#…

JavaScript之ES6新特性02

模板字符串 模板字符串&#xff08;template string&#xff09;是增强版的字符串&#xff0c;用反引号&#xff08;&#xff09;标识。它可以当作普通字符串使用&#xff0c;也可以用来定义多行字符串&#xff0c;或者在字符串中嵌入变量 。 模版字符串特点 内容中可以直接…

C#进程间消息传递

C#是一种流行的编程语言&#xff0c;它可以用于开发Windows应用程序。在开发Windows应用程序时&#xff0c;有时需要进行进程间通信&#xff0c;以实现不同进程之间的数据传递和交互。C#提供了多种方式来进行进程间消息传递&#xff0c;包括管道、共享内存、消息队列等。在本文…

chapter11-实战成绩通知短信系统(上)

恭喜各位同学&#xff01;当你看到这篇文章的时候&#xff0c;意味着你已经从刚开始的“一无所知”&#xff0c;变成了现在的“爬虫新手”&#xff01;在之前的文章中&#xff0c;我们从最基础的知识点讲起&#xff0c;一步一步的学习了怎么使用Python爬取我们想要获取的信息&a…

Angular系列教程之模板语法

文章目录 前言一、模板语法基础二、模板指令三、模板表达式四、模板语法示例五、注意事项五、总结 前言 Angular是一款流行的前端开发框架&#xff0c;它提供了许多功能和工具来简化前端开发过程。其中&#xff0c;模板语法是Angular中一个非常关键的组成部分&#xff0c;它可…

Leveraging Unlabeled Data for Crowd Counting by Learning to Rank

无标签人群技术&#xff0c;作者引入了一种排名。 利用的是一个图的人群数量一定小于等于包含这个图的图 生成排名数据集 作者提出了一种自监督任务&#xff0c;利用的是一个图的人群数量一定小于等于包含这个图的图 流程&#xff1a; 1.以图像中心为中心&#xff0c;划分一…

幻兽帕鲁保姆级搭建服务器,开服教程(LINUX)

一、购买与连接服务器 1.购买服务器 官方文档推荐的服务器要求CPU4核心内存8GB&#xff0c;所以我们要准备好一个4核8GB的服务器。(实测2核4GB的大概在5人左右就特别容易崩溃&#xff0c;CPU占用率在98%&#xff0c;内存占用很快就超过100%溢出&#xff0c;所以想要稳定最低最低…

从零开始的OpenGL光栅化渲染器构建4-延迟渲染及其类似应用

前言 首先介绍一下什么是延迟渲染。延迟渲染是一种先计算场景中的顶点、颜色、法线等信息&#xff0c;将其存入缓冲&#xff0c;再进行光照计算的渲染技术&#xff0c;与直接渲染是相对的概念。为了详细介绍延迟渲染&#xff0c;我们首先需要了解帧缓冲&#xff0c;以及帧缓冲…

C++入门学习(十)如何显示浮点数的完整形态

在C中&#xff0c;如果你想要显示浮点数的完整数字&#xff08;包括小数部分和指数部分&#xff09;&#xff0c;可以使用 std::setprecision 和 std::fixed 来设置精度和固定小数点表示&#xff1a; #include <iostream> #include <iomanip> // 必须包含这个头…

深入剖析:Kafka流数据处理引擎的核心面试问题解析75问(5.7万字参考答案)

Kafka 是一款开源的分布式流处理平台&#xff0c;被广泛应用于构建实时数据管道、日志聚合、事件驱动的架构等场景。本文将深入探究 Kafka 的基本原理、特点以及其在实际应用中的价值和作用。 Kafka 的基本原理是建立在发布-订阅模式之上的。生产者将消息发布到主题&#xff08…