逆向.js 45 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396
  1. // 环境 **********************
  2. window = global;
  3. navigator = {
  4. userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36'
  5. }
  6. /**--------------------------------------- 加密 ajr ------------------------------------**/
  7. XH = function (DV) {
  8. return gG.apply(this, [60, arguments]);
  9. }
  10. AH = function (JQ, p3) {
  11. return gG.apply(this, [43, arguments]);
  12. }
  13. GH = function () {
  14. this[93].pop();
  15. }
  16. pW = function () {
  17. this[93] = [];
  18. }
  19. Hr = function (Lz) {
  20. this[93] = [Lz[235].D];
  21. }
  22. AG = function () {
  23. this[93][this[93].length] = {};
  24. }
  25. function Gs(Ys, w3) {
  26. return Ys != w3;
  27. }
  28. function FE(jN, kJ) {
  29. return jN - kJ;
  30. }
  31. js = function () {
  32. return [...this[93]];
  33. }
  34. function Tr(AA, Z) {
  35. return AA == Z;
  36. }
  37. function rz(QE, HA) {
  38. return QE < HA;
  39. }
  40. function SF(gA, ds) {
  41. return gA | ds;
  42. }
  43. function Y3(c3, UG) {
  44. return c3 << UG;
  45. }
  46. function fG(k3, NW) {
  47. switch (k3) {
  48. case 14: {
  49. var n3 = NW[0];
  50. n3[138] = function (sN, QG) {
  51. var QN = atob(sN);
  52. var QV = 0;
  53. var WW = [];
  54. var DO = 0;
  55. for (var HQ = 0; HQ < QN.length; HQ++) {
  56. WW[DO] = QN.charCodeAt(HQ);
  57. QV = QV ^ WW[DO++];
  58. }
  59. Sr(27, [this, 210]);
  60. return WW;
  61. }
  62. ;
  63. Sr(18, [n3]);
  64. }
  65. break;
  66. case 0: {
  67. var D3 = NW[0];
  68. D3[160] = function () {
  69. return this[205][this[0][62]++];
  70. }
  71. ;
  72. fG(14, [D3]);
  73. }
  74. break;
  75. case 36: {
  76. var O7 = NW[0];
  77. O7[53] = function (UO) {
  78. return this[105](UO ? this[93][FE(this[93]["length"], 1)] : this[93].pop());
  79. }
  80. ;
  81. fG(0, [O7]);
  82. }
  83. break;
  84. case 47: {
  85. var sF = NW[0];
  86. sF[105] = function (TO) {
  87. return Tr(typeof TO, "object") ? TO.D : TO;
  88. }
  89. ;
  90. fG(36, [sF]);
  91. }
  92. break;
  93. case 24: {
  94. var mJ = NW[0];
  95. mJ[29] = function (fW) {
  96. return AH.call(this[45], fW, this);
  97. }
  98. ;
  99. fG(47, [mJ]);
  100. }
  101. break;
  102. case 6: {
  103. var Vz = NW[0];
  104. Vz[254] = function (MV, bG, xE) {
  105. if (Tr(typeof MV, "object")) {
  106. xE ? this[93].push(MV.D = bG) : MV.D = bG;
  107. } else {
  108. // T.call(this[45], MV, bG);
  109. this[45][93][FE(this[45][93].length, 1)][MV] = bG;
  110. }
  111. }
  112. ;
  113. fG(24, [Vz]);
  114. }
  115. break;
  116. case 12: {
  117. var cE = NW[0];
  118. cE[35] = function (hJ, f) {
  119. this[0][hJ] = f;
  120. }
  121. ;
  122. cE[121] = function (MN) {
  123. return this[0][MN];
  124. }
  125. ;
  126. fG(6, [cE]);
  127. }
  128. break;
  129. }
  130. }
  131. function Sr(PE, n) {
  132. switch (PE) {
  133. case 48: {
  134. var TN = n[0];
  135. TN[253] = function () {
  136. this[93].push(this[53]() !== this[53]());
  137. }
  138. ;
  139. KQ(37, [TN]);
  140. }
  141. break;
  142. case 27: {
  143. var gz = n[0];
  144. var KW = n[1];
  145. gz[106] = function (FO) {
  146. return qW(xQ(FO, KW), bF);
  147. }
  148. ;
  149. Sr(48, [gz]);
  150. }
  151. break;
  152. case 46: {
  153. var L = n[0];
  154. L[157] = function () {
  155. var dN = this[160]();
  156. while (dN !== 2) {
  157. this[dN](this);
  158. dN = this[160]();
  159. }
  160. }
  161. ;
  162. }
  163. break;
  164. case 30: {
  165. var HE = n[0];
  166. HE[158] = function (VN, L7) {
  167. return {
  168. get D() {
  169. return VN[L7];
  170. },
  171. set D(BJ) {
  172. VN[L7] = BJ;
  173. }
  174. };
  175. }
  176. ;
  177. Sr(46, [HE]);
  178. }
  179. break;
  180. case 40: {
  181. var gQ = n[0];
  182. gQ[210] = function (DN) {
  183. return {
  184. get D() {
  185. return DN;
  186. },
  187. set D(OV) {
  188. DN = OV;
  189. }
  190. };
  191. }
  192. ;
  193. Sr(30, [gQ]);
  194. }
  195. break;
  196. case 44: {
  197. var X3 = n[0];
  198. X3[55] = function (zA) {
  199. return {
  200. get D() {
  201. return zA;
  202. },
  203. set D(Vs) {
  204. zA = Vs;
  205. }
  206. };
  207. }
  208. ;
  209. Sr(40, [X3]);
  210. }
  211. break;
  212. case 25: {
  213. var RF = n[0];
  214. RF[179] = function () {
  215. var Wz = SF(Y3(this[160](), 8), this[160]());
  216. var U3 = "";
  217. for (var bV = 0; rz(bV, Wz); bV++) {
  218. U3 += String.fromCharCode(this[160]());
  219. }
  220. return U3;
  221. }
  222. ;
  223. Sr(44, [RF]);
  224. }
  225. break;
  226. case 61: {
  227. var S = n[0];
  228. S[114] = function () {
  229. var tH = SF(SF(SF(Y3(this[160](), 24), Y3(this[160](), 16)), Y3(this[160](), 8)), this[160]());
  230. return tH;
  231. }
  232. ;
  233. Sr(25, [S]);
  234. }
  235. break;
  236. case 18: {
  237. var SA = n[0];
  238. SA[175] = function () {
  239. var r7 = P3()[v(A)](kF, WQ, hH, AO);
  240. for (let PH = 0; rz(PH, nA); ++PH) {
  241. r7 += this[160]().toString(mA).padStart(nA, pE()[Mz(mA)](YH, WQ, CG, C3));
  242. }
  243. var cO = parseInt(r7.slice(VW, kW), mA);
  244. var ks = r7.slice(kW);
  245. if (Tr(cO, 0)) {
  246. if (Tr(ks.indexOf(P3()[v(mA)](OG, 0, A, Bw)), TG(VW))) {
  247. return 0;
  248. } else {
  249. cO -= Os[A];
  250. ks = xQ(pE()[Mz(mA)](YH, WQ, Nr(Nr({})), M3), ks);
  251. }
  252. } else {
  253. cO -= Os[hH];
  254. ks = xQ(P3()[v(mA)].call(null, OG, 0, lV, Nr(Nr({}))), ks);
  255. }
  256. var K3 = 0;
  257. var UW = VW;
  258. for (let bE of ks) {
  259. K3 += NV(UW, parseInt(bE));
  260. UW /= mA;
  261. }
  262. return NV(K3, Math.pow(mA, cO));
  263. }
  264. ;
  265. Sr(61, [SA]);
  266. }
  267. break;
  268. }
  269. }
  270. function gG(rE, IJ) {
  271. switch (rE) {
  272. case 49: {
  273. var xH = IJ[0];
  274. var JF = IJ[1];
  275. return this[93][FE(this[93].length, VW)][xH] = JF;
  276. }
  277. break;
  278. case 43: {
  279. var JQ = IJ[0];
  280. var p3 = IJ[1];
  281. for (var pO of [...this[93]].reverse()) {
  282. if (JQ in pO) {
  283. return p3[158](pO, JQ);
  284. }
  285. }
  286. throw DA()[pJ(hH)](Jw, V3);
  287. }
  288. break;
  289. case 60: {
  290. var DV = IJ[0];
  291. if (this[93].length === 0)
  292. this[93] = Object.assign(this[93], DV);
  293. }
  294. break;
  295. case 16: {
  296. var OE = IJ[0];
  297. var sA = IJ[1];
  298. var KV = IJ[2];
  299. this[205] = this[138](sA, KV);
  300. this[235] = this[210](OE);
  301. this[45] = new Hr(this);
  302. this[35](62, 0);
  303. while (rz(this[0][62], this[205].length)) {
  304. var Or = this[160]();
  305. this[Or](this);
  306. }
  307. }
  308. break;
  309. case 32: {
  310. var mN = IJ[0];
  311. mN[6] = function () {
  312. this[93].push(this[53]() >>> this[53]());
  313. }
  314. ;
  315. }
  316. break;
  317. case 1: {
  318. var tA = IJ[0];
  319. tA[9] = function () {
  320. this[93].push(this[160]());
  321. }
  322. ;
  323. gG(32, [tA]);
  324. }
  325. break;
  326. case 34: {
  327. var Es = IJ[0];
  328. Es[10] = function () {
  329. var hw = this[160]();
  330. var wV = this[160]();
  331. var IG = this[160]();
  332. var wO = this[53]();
  333. var NF = [];
  334. for (var TF = 0; rz(TF, IG); ++TF) {
  335. switch (this[93].pop()) {
  336. case 0:
  337. NF.push(this[53]());
  338. break;
  339. case 1:
  340. var cz = this[53]();
  341. for (var l7 of cz.reverse()) {
  342. NF.push(l7);
  343. }
  344. break;
  345. default:
  346. throw new Error(pE()[Mz(hH)](TG(AW), mA, kA, zJ));
  347. }
  348. }
  349. var IN = wO.apply(this[235].D, NF.reverse());
  350. hw && this[93].push(this[210](IN));
  351. }
  352. ;
  353. gG(1, [Es]);
  354. }
  355. break;
  356. case 10: {
  357. var tr = IJ[0];
  358. tr[13] = function () {
  359. this[93].push(this[210](undefined));
  360. }
  361. ;
  362. gG(34, [tr]);
  363. }
  364. break;
  365. case 8: {
  366. var mz = IJ[0];
  367. mz[37] = function () {
  368. this[93].push(this[53]() * this[53]());
  369. }
  370. ;
  371. gG(10, [mz]);
  372. }
  373. break;
  374. }
  375. }
  376. function KQ(VG, r) {
  377. switch (VG) {
  378. case 17: {
  379. var O3 = r[0];
  380. O3[170] = function () {
  381. this[93].push(this[53]() >> this[53]());
  382. }
  383. ;
  384. ZW(29, [O3]);
  385. }
  386. break;
  387. case 21: {
  388. var hV = r[0];
  389. hV[223] = function () {
  390. this[93].push(this[53]() in this[53]());
  391. }
  392. ;
  393. KQ(30, [hV]);
  394. }
  395. break;
  396. case 30: {
  397. var XW = r[0];
  398. XW[215] = function () {
  399. var Ew = this[160]();
  400. var PV = this[93].pop();
  401. var zQ = this[93].pop();
  402. var xz = this[93].pop();
  403. var r3 = this[0][62];
  404. this[35](62, PV);
  405. this[157]();
  406. this[35](62, xz);
  407. this[157]();
  408. this[35](62, r3);
  409. }
  410. ;
  411. KQ(1, [XW]);
  412. }
  413. break;
  414. case 1: {
  415. var CW = r[0];
  416. CW[185] = function () {
  417. // 长度为 7
  418. GH.call(this[45]);
  419. }
  420. ;
  421. KQ(41, [CW]);
  422. }
  423. break;
  424. case 47: {
  425. var W7 = r[0];
  426. W7[171] = function () {
  427. this[93].push(kN(this[53](), this[53]()));
  428. }
  429. ;
  430. KQ(17, [W7]);
  431. }
  432. break;
  433. case 57: {
  434. var pH = r[0];
  435. pH[172] = function () {
  436. this[93].push(this[53]() + this[53]());
  437. }
  438. ;
  439. KQ(47, [pH]);
  440. }
  441. break;
  442. case 39: {
  443. var nQ = r[0];
  444. nQ[240] = function () {
  445. this[93].push(this[179]());
  446. }
  447. ;
  448. KQ(9, [nQ]);
  449. }
  450. break;
  451. case 37: {
  452. var DW = r[0];
  453. DW[251] = function () {
  454. var gW = this[160]();
  455. var g = this[114]();
  456. if (this[53](gW)) {
  457. this[35](62, g);
  458. }
  459. }
  460. ;
  461. KQ(39, [DW]);
  462. }
  463. break;
  464. case 9: {
  465. var Zs = r[0];
  466. Zs[236] = function () {
  467. this[35](62, this[114]());
  468. }
  469. ;
  470. KQ(21, [Zs]);
  471. }
  472. break;
  473. case 41: {
  474. var sw = r[0];
  475. sw[174] = function () {
  476. var bQ = [];
  477. var bW = this[93].pop();
  478. var kw = FE(this[93].length, 1);
  479. for (var ZQ = 0; rz(ZQ, bW); ++ZQ) {
  480. bQ.push(this[105](this[93][kw--]));
  481. }
  482. this[254]("arguments", bQ);
  483. }
  484. ;
  485. KQ(57, [sw]);
  486. }
  487. break;
  488. }
  489. }
  490. function ZW(X7, Gz) {
  491. switch (X7) {
  492. case 43: {
  493. var KF = Gz[0];
  494. KF[115] = function () {
  495. this[93].push(-1 * this[53]());
  496. }
  497. ;
  498. bJ(59, [KF]);
  499. }
  500. break;
  501. case 34: {
  502. var bs = Gz[0];
  503. bs[118] = function () {
  504. this[93].push(this[53]() && this[53]());
  505. }
  506. ;
  507. ZW(43, [bs]);
  508. }
  509. break;
  510. case 39: {
  511. var FA = Gz[0];
  512. FA[125] = function () {
  513. this[93].push(this[53]() % this[53]());
  514. }
  515. ;
  516. ZW(34, [FA]);
  517. }
  518. break;
  519. case 21: {
  520. var zW = Gz[0];
  521. zW[139] = function () {
  522. this[93].push(SF(this[53](), this[53]()));
  523. }
  524. ;
  525. ZW(39, [zW]);
  526. }
  527. break;
  528. case 55: {
  529. var mW = Gz[0];
  530. mW[147] = function () {
  531. var Mw = this[160]();
  532. var vH = this[53]();
  533. var RA = this[53]();
  534. var Sw = this[158](RA, vH);
  535. if (!Mw) {
  536. var ls = this;
  537. var lr = {
  538. get(CQ) {
  539. ls[235] = CQ;
  540. return RA;
  541. }
  542. };
  543. this[235] = new Proxy(this[235], lr);
  544. }
  545. this[93].push(Sw);
  546. }
  547. ;
  548. ZW(21, [mW]);
  549. }
  550. break;
  551. case 24: {
  552. var VQ = Gz[0];
  553. VQ[151] = function () {
  554. this[93].push(this[53]() ^ this[53]());
  555. }
  556. ;
  557. ZW(55, [VQ]);
  558. }
  559. break;
  560. case 1: {
  561. var WF = Gz[0];
  562. WF[152] = function () {
  563. var IE = [];
  564. var tz = this[160]();
  565. while (tz--) {
  566. switch (this[93].pop()) {
  567. case 0:
  568. IE.push(this[53]());
  569. break;
  570. case 1:
  571. var lQ = this[53]();
  572. for (var zV of lQ) {
  573. IE.push(zV);
  574. }
  575. break;
  576. }
  577. }
  578. this[93].push(this[55](IE));
  579. }
  580. ;
  581. ZW(24, [WF]);
  582. }
  583. break;
  584. case 18: {
  585. var FH = Gz[0];
  586. FH[156] = function () {
  587. var k7 = this[160]();
  588. var gV = this[114]();
  589. if (!this[53](k7)) {
  590. this[35](62, gV);
  591. }
  592. }
  593. ;
  594. ZW(1, [FH]);
  595. }
  596. break;
  597. case 52: {
  598. var bH = Gz[0];
  599. bH[159] = function () {
  600. this[93].push(this[29](this[179]()));
  601. }
  602. ;
  603. ZW(18, [bH]);
  604. }
  605. break;
  606. case 29: {
  607. var WE = Gz[0];
  608. WE[167] = function () {
  609. this[93] = [];
  610. pW.call(this[45]);
  611. this[35](62, this[205].length);
  612. }
  613. ;
  614. ZW(52, [WE]);
  615. }
  616. break;
  617. }
  618. }
  619. function bJ(PG, rO) {
  620. switch (PG) {
  621. case 38: {
  622. var fH = rO[0];
  623. fH[39] = function () {
  624. var Er = this[93].pop();
  625. var Qw = this[160]();
  626. if (Gs(typeof Er, "object")) {
  627. throw "Invalid left-hand side expression in postfix operation";
  628. }
  629. if (Qw > 1) {
  630. Er.D++;
  631. return;
  632. }
  633. this[93].push(new Proxy(Er, {
  634. get(dH, rr, m) {
  635. if (Qw) {
  636. return ++dH.D;
  637. }
  638. return dH.D++;
  639. }
  640. }));
  641. }
  642. ;
  643. gG(8, [fH]);
  644. }
  645. break;
  646. case 39: {
  647. var hE = rO[0];
  648. hE[46] = function () {
  649. var LF = this[160]();
  650. var F = this[160]();
  651. var cW = this[114]();
  652. var tQ = js.call(this[45]);
  653. var RO = this[235];
  654. this[93].push(function (...Yw) {
  655. var J = hE[235];
  656. LF ? hE[235] = RO : hE[235] = hE[210](this);
  657. var xG = FE(Yw.length, F);
  658. hE[209] = xG + 1;
  659. while (rz(xG++, 0)) {
  660. Yw.push(undefined);
  661. }
  662. for (let Kr of Yw.reverse()) {
  663. hE[93].push(hE[210](Kr));
  664. }
  665. XH.call(hE[45], tQ);
  666. var LW = hE[0][62];
  667. hE[35](62, cW);
  668. hE[93].push(Yw.length);
  669. hE[157]();
  670. var AN = hE[53]();
  671. while (--xG > 0) {
  672. hE[93].pop();
  673. }
  674. hE[35](62, LW);
  675. hE[235] = J;
  676. return AN;
  677. });
  678. }
  679. ;
  680. bJ(38, [hE]);
  681. }
  682. break;
  683. case 5: {
  684. var mF = rO[0];
  685. mF[48] = function () {
  686. this[93].push(Y3(this[53](), this[53]()));
  687. }
  688. ;
  689. bJ(39, [mF]);
  690. }
  691. break;
  692. case 41: {
  693. var wN = rO[0];
  694. wN[49] = function () {
  695. this[93].push(this[114]());
  696. }
  697. ;
  698. bJ(5, [wN]);
  699. }
  700. break;
  701. case 56: {
  702. var vz = rO[0];
  703. vz[61] = function () {
  704. this[93].push(FE(this[53](), this[53]()));
  705. }
  706. ;
  707. bJ(41, [vz]);
  708. }
  709. break;
  710. case 17: {
  711. var vN = rO[0];
  712. vN[84] = function () {
  713. this[93].push(this[53]() === this[53]());
  714. }
  715. ;
  716. bJ(56, [vN]);
  717. }
  718. break;
  719. case 15: {
  720. var DQ = rO[0];
  721. DQ[86] = function () {
  722. this[93].push(this[53]() / this[53]());
  723. }
  724. ;
  725. bJ(17, [DQ]);
  726. }
  727. break;
  728. case 43: {
  729. var QH = rO[0];
  730. QH[87] = function () {
  731. this[93].push(rz(this[53](), this[53]()));
  732. }
  733. ;
  734. bJ(15, [QH]);
  735. }
  736. break;
  737. case 27: {
  738. var fr = rO[0];
  739. fr[91] = function () {
  740. AG.call(this[45]);
  741. }
  742. ;
  743. bJ(43, [fr]);
  744. }
  745. break;
  746. case 59: {
  747. var ME = rO[0];
  748. ME[99] = function () {
  749. this[254](this[93].pop(), this[53](), this[160]());
  750. }
  751. ;
  752. bJ(27, [ME]);
  753. }
  754. break;
  755. }
  756. }
  757. var xG = function kp(NR, rR) {
  758. switch (NR) {
  759. case 50: {
  760. return parseInt(...rR);
  761. }
  762. break;
  763. case 18: {
  764. return String(...rR);
  765. }
  766. break;
  767. }
  768. };
  769. dw = function (OE, sA, KV) {
  770. return gG.apply(this, [16, arguments]);
  771. }
  772. class cU {
  773. constructor() {
  774. this[0] = [];
  775. this[205] = [];
  776. this[93] = [];
  777. this[209] = 0;
  778. fG(12, [this]);
  779. this['t'] = dw;
  780. }
  781. }
  782. // 初始化加密函数
  783. var nRv = new cU()
  784. var arg1 = {
  785. Math: Math,
  786. String: function () {
  787. return xG.apply(this, [18, arguments]);
  788. },
  789. document: {
  790. createElement: function (res) {
  791. if (res === 'div') return {
  792. getElementsByTagName: function () {
  793. },
  794. ATTRIBUTE_NODE: 2,
  795. baseURI: "https://www.jetstar.com/hk/zh/home?adults=1&destination=MYJ&flexible=1&flight-type=1&origin=PVG&selected-departure-date=2025-05-17&tab=1"
  796. }
  797. }
  798. },
  799. parseInt: function () {
  800. return xG.apply(this, [50, arguments]);
  801. },
  802. window: window
  803. }
  804. let enStr = "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"
  805. nRv['t'](arg1, enStr, 0)
  806. function get_dvc(startTs, ajr) {
  807. window.bmak = {
  808. startTs: startTs
  809. }
  810. val = arg1.Gb(0, ajr, 0, 0)
  811. console.log('加密ajr生成的dvc => ', val)
  812. return val
  813. }
  814. /**-------------------------------------------------- 31条风控参数的生成---------------------------------------------------------------**/
  815. function getObj31(startTs) {
  816. function get_ajr(startTimestamp) {
  817. var lfv = function (Jw) {
  818. var rTv = function (bxv, g8v) {
  819. return bxv >>> g8v | bxv << 32 - g8v;
  820. };
  821. var kw = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];
  822. var Jl = 0x6a09e667;
  823. var BXv = 0xbb67ae85;
  824. var SVv = 0x3c6ef372;
  825. var FCv = 0xa54ff53a;
  826. var VTv = 0x510e527f;
  827. var tEv = 0x9b05688c;
  828. var ttv = 0x1f83d9ab;
  829. var hVv = 0x5be0cd19;
  830. var SUv = unescape(encodeURIComponent(Jw));
  831. var hXv = SUv["length"] * 8;
  832. SUv += String["fromCharCode"](0x80);
  833. var Sfv = SUv["length"] / 4 + 2;
  834. var pw = Math["ceil"](Sfv / 16);
  835. var nfv = new (Array)(pw);
  836. for (var Ol = 0; Ol < pw; Ol++) {
  837. nfv[Ol] = new (Array)(16);
  838. for (var fLv = 0; fLv < 16; fLv++) {
  839. nfv[Ol][fLv] = SUv["charCodeAt"](Ol * 64 + fLv * 4) << 24 | SUv["charCodeAt"](Ol * 64 + fLv * 4 + 1) << 16 | SUv["charCodeAt"](Ol * 64 + fLv * 4 + 2) << 8 | SUv["charCodeAt"](Ol * 64 + fLv * 4 + 3) << 0;
  840. }
  841. }
  842. var VCv = hXv / Math["pow"](2, 32);
  843. nfv[pw - 1][14] = Math["floor"](VCv);
  844. nfv[pw - 1][15] = hXv;
  845. for (var Fbv = 0; Fbv < pw; Fbv++) {
  846. var GTv = new (Array)(64);
  847. var khv = Jl;
  848. var jXv = BXv;
  849. var Ydv = SVv;
  850. var jtv = FCv;
  851. var cl = VTv;
  852. var Ehv = tEv;
  853. var Vfv = ttv;
  854. var ddv = hVv;
  855. for (var Jvv = 0; Jvv < 64; Jvv++) {
  856. var qCv = void 0
  857. , lvv = void 0
  858. , Kq = void 0
  859. , vtv = void 0
  860. , Dnv = void 0
  861. , NCv = void 0;
  862. if (Jvv < 16)
  863. GTv[Jvv] = nfv[Fbv][Jvv];
  864. else {
  865. qCv = rTv(GTv[Jvv - 15], 7) ^ rTv(GTv[Jvv - 15], 18) ^ GTv[Jvv - 15] >>> 3;
  866. lvv = rTv(GTv[Jvv - 2], 17) ^ rTv(GTv[Jvv - 2], 19) ^ GTv[Jvv - 2] >>> 10;
  867. GTv[Jvv] = GTv[Jvv - 16] + qCv + GTv[Jvv - 7] + lvv;
  868. }
  869. lvv = rTv(cl, 6) ^ rTv(cl, 11) ^ rTv(cl, 25);
  870. Kq = cl & Ehv ^ ~cl & Vfv;
  871. vtv = ddv + lvv + Kq + kw[Jvv] + GTv[Jvv];
  872. qCv = rTv(khv, 2) ^ rTv(khv, 13) ^ rTv(khv, 22);
  873. Dnv = khv & jXv ^ khv & Ydv ^ jXv & Ydv;
  874. NCv = qCv + Dnv;
  875. ddv = Vfv;
  876. Vfv = Ehv;
  877. Ehv = cl;
  878. cl = jtv + vtv >>> 0;
  879. jtv = Ydv;
  880. Ydv = jXv;
  881. jXv = khv;
  882. khv = vtv + NCv >>> 0;
  883. }
  884. Jl = Jl + khv;
  885. BXv = BXv + jXv;
  886. SVv = SVv + Ydv;
  887. FCv = FCv + jtv;
  888. VTv = VTv + cl;
  889. tEv = tEv + Ehv;
  890. ttv = ttv + Vfv;
  891. hVv = hVv + ddv;
  892. }
  893. return [Jl >> 24 & 0xff, Jl >> 16 & 0xff, Jl >> 8 & 0xff, Jl & 0xff, BXv >> 24 & 0xff, BXv >> 16 & 0xff, BXv >> 8 & 0xff, BXv & 0xff, SVv >> 24 & 0xff, SVv >> 16 & 0xff, SVv >> 8 & 0xff, SVv & 0xff, FCv >> 24 & 0xff, FCv >> 16 & 0xff, FCv >> 8 & 0xff, FCv & 0xff, VTv >> 24 & 0xff, VTv >> 16 & 0xff, VTv >> 8 & 0xff, VTv & 0xff, tEv >> 24 & 0xff, tEv >> 16 & 0xff, tEv >> 8 & 0xff, tEv & 0xff, ttv >> 24 & 0xff, ttv >> 16 & 0xff, ttv >> 8 & 0xff, ttv & 0xff, hVv >> 24 & 0xff, hVv >> 16 & 0xff, hVv >> 8 & 0xff, hVv & 0xff];
  894. };
  895. var gTv = function (RNv) {
  896. return Math["floor"](Math["random"]() * RNv["length"]);
  897. };
  898. var Fw = function (kzv) {
  899. var W3v = '';
  900. for (var F6v = 0; F6v < kzv["length"]; F6v++) {
  901. W3v += kzv[F6v]["toString"](16)["length"] === 2 ? kzv[F6v]["toString"](16) : "0"["concat"](kzv[F6v]["toString"](16));
  902. }
  903. return W3v;
  904. };
  905. var fDv = Fw(lfv(btoa(startTimestamp)));
  906. var tfv = [];
  907. var dnv = "";
  908. for (var XVv = 0; XVv < 5; XVv++) {
  909. var Pgv = gTv(fDv);
  910. tfv["push"](Pgv);
  911. dnv = dnv + fDv[Pgv];
  912. }
  913. var zCv = [dnv, tfv];
  914. return zCv["join"]("|")
  915. }
  916. function fpc(val) {
  917. var TSK = function (INK) {
  918. if (INK == null)
  919. return -1;
  920. var I8K = 0;
  921. for (var IjK = 0; IjK < INK["length"]; IjK++) {
  922. var UQK = INK["charCodeAt"](IjK);
  923. if (UQK < 128) {
  924. I8K = I8K + UQK;
  925. }
  926. }
  927. return I8K;
  928. };
  929. return "".concat(TSK(val));
  930. }
  931. function get_din(startTs) {
  932. ` **************** adp 生成过程(可写死) ***************
  933. var Q56 = window['callPhantom'] ? 1 : 0; // 值为 0 , 检测无头浏览器
  934. var kR6 = window['ActiveXObject'] && 'ActiveXObject' in window ? 1 : 0; // 值为 0 , 识别 IE 浏览器(ActiveXObject 是 IE 特有的属性
  935. var pW6 = typeof window['document']['documentMode'] == 'number' ? 1 : 0; // 值为 0 , 检测 IE 文档模式(document.documentMode 是 IE 特有属性)
  936. var cc6 = window['chrome'] && window['chrome']['webstore'] ? 1 : 0; // 值为 0 , 检测 Chrome 浏览器
  937. var UR6 = window['navigator']['onLine'] ? 1 : 0; // 值为 1 , 检测网络状态, navigator.onLine可判断浏览器是否在线
  938. var mk6 = window['opera'] ? 1 : 0; // 值为 0 , 检测旧版 Opera 浏览器(opera 是旧版 Opera 特有)
  939. var VZ6 = typeof window['InstallTrigger'] !== 'undefined' ? 1 : 0; // 值为 0 , 检测 Firefox 浏览器(InstallTrigger 是 Firefox 特有属性)
  940. var rQ6 = window['HTMLElement'] && window['Object']['prototype']['toString'].call(window['HTMLElement'])['indexOf']('Constructor') > 0 ? 1 : 0; // 值为 0 ,
  941. var g36 = typeof window['RTCPeerConnection'] === 'function' || typeof window['mozRTCPeerConnection'] === 'function' // 值为 1 , 判断浏览器是否支持 WebRTC
  942. var Ng6 = 'mozInnerScreenY' in window ? window['mozInnerScreenY'] : 0; // 值为 0 , 检测 Firefox 特定属性
  943. var OL6 = typeof window['navigator']['vibrate'] === 'function' ? 1 : 0; // 值为 1 , 检查设备是否支持振动
  944. var Wc6 = typeof window['navigator']['getBattery'] === 'function' ? 1 : 0; // 值为 1 , 检查电池API支持
  945. var U96 = !window['Array']['prototype']['forEach'] ? 1 : 0; // 值为 0 , 检测 ES5 数组方法支持
  946. var EC6 = 'FileReader' in window ? 1 : 0; // 值为 1 , 检测是否支持文件读取
  947. var nS6 = 'cpen:'['concat'](Q56, ',i1:')['concat'](kR6, ',dm:')['concat'](pW6, ',cwen:')['concat'](cc6, ',non:')['concat'](UR6, ',opc:')['concat'](mk6, ',fc:')['concat'](VZ6, ',sc:')['concat'](rQ6, ',wrc:')['concat'](g36, ',isc:')['concat'](Ng6, ',vib:')['concat'](OL6, ',bat:')['concat'](Wc6, ',x11:')['concat'](U96, ',x12:')['concat'](EC6);
  948. `
  949. // PMK ------------------------------------------ ran 生成 ----------------------------------------------------------
  950. var ZEK = Math.random()
  951. var KDK = parseInt(ZEK * 1000 / 2, 10)
  952. var PMK = "".concat(ZEK).slice(0, 11) + KDK
  953. return [
  954. {"wdr": 0}, // window.webdriver ? 1 : 0; => 0
  955. {"xag": 12147}, // 不会js文件是不一样的 网页固定值 RcK(973, [])
  956. {"asw": 1920}, // window.screen.availWidth
  957. {"nal": "zh-CN"}, // navigator['language']
  958. {"wow": 1920}, // window.outerWidth
  959. // 将时间戳 window.bmak.startTs 除以固定数值 (2016*2016)4064256,并将结果转换为十进制整数
  960. {"hz1": parseInt(startTs / 4064256, 10)},
  961. {"nps": "20030107"}, // navigator['productSub']
  962. {"pha": 0}, // window._phantom ? 1 : 0; => 0
  963. {"ibr": 0}, // 网页固定值
  964. {"adp": "cpen:0,i1:0,dm:0,cwen:0,non:1,opc:0,fc:0,sc:0,wrc:1,isc:0,vib:1,bat:1,x11:0,x12:1"}, // SKK()
  965. {"hal": startTs / 2}, // ZqK = window.bmak.startTs / 2
  966. {"ucs": "8106"}, // CCK 生成逻辑 ''.concat(TSK(navigator.userAgent)) =》 '8106'
  967. {"she": 1080}, // window.screen.height => 1080
  968. {"wih": 919}, // window.innerHeight => 919
  969. {"ash": 1040}, // window.screen.availHeight
  970. {"dau": 0}, // window.domAutomation ? 1 : 0; => 0
  971. {"wiw": 1920}, // window.innerWidth => 1920 616??
  972. {"nap": "Gecko"}, // navigator['product']
  973. {"npl": 5}, // navigator['plugins']['length']
  974. {"swi": 1920}, // window.screen.width =>
  975. {"tsd": 0}, // 网页固定值
  976. {"ua": navigator.userAgent},
  977. {"ran": PMK}, // 随机值(应该可以写死)
  978. ]
  979. }
  980. function mst(startTs, ajr) {
  981. function dDd(YS) {
  982. var P3 = function (ZA) {
  983. var SW = ZA[0] - ZA[1];
  984. var ng = ZA[2] - ZA[3];
  985. var sb = ZA[4] - ZA[5];
  986. var CJ = Math["sqrt"](SW * SW + ng * ng + sb * sb);
  987. return Math["floor"](CJ);
  988. };
  989. var H7d = Math["floor"](Math["random"]() * 100000 + 10000);
  990. var vZ = String(YS * H7d);
  991. var sQd = 0;
  992. var P4d = [];
  993. var Ffd = vZ["length"] >= 18;
  994. while (P4d["length"] < 6) {
  995. P4d["push"](parseInt(vZ["slice"](sQd, sQd + 2), 10));
  996. sQd = Ffd ? sQd + 3 : sQd + 2;
  997. }
  998. var FMd = P3(P4d);
  999. return [H7d, FMd];
  1000. };
  1001. var dbd = dDd(startTs);
  1002. let dvc = get_dvc(startTs, ajr)
  1003. return [
  1004. {'kevl': 1},
  1005. {'mevl': 32},
  1006. {'tevl': 32},
  1007. {'devl': 0},
  1008. {'dmvl': 0}, // 变化的
  1009. {'pevl': 0},
  1010. {'tovl': 0}, // 变化的
  1011. {'delt': 0},
  1012. {'it': 0},
  1013. {'sts': startTs},
  1014. {'fct': -999999}, // HAd['td']
  1015. {'dd2': parseInt(parseInt(startTs / 4064256, 10) / 23, 10)},
  1016. {'kc': 0},
  1017. {'mc': 0},
  1018. {'ww8': 0},
  1019. {'pc': 0},
  1020. {'tc': 0},
  1021. {'ssts': 0},
  1022. {'tst': 0},
  1023. {'rval': '-1'}, // HAd['rVal']
  1024. {'rcfp': '-1'}, // HAd['rCFP']
  1025. {'nfas': 30261693},
  1026. {'jsrf': "PiZtE"},
  1027. {'jsrf1': dbd[0]}, //开始时间戳 计算的值 会变
  1028. {'jsrf2': dbd[1]},
  1029. {'signals': '0'},
  1030. {'mwd': "0"},
  1031. {'hea': ''},
  1032. {'dvc': ''['concat'](dvc, ',')['concat'](0, ',')['concat']("i+j+g+d+k+h+f+l+")}, // 试一试能不能写死 ------------
  1033. {'srd': "0"}
  1034. ];
  1035. }
  1036. // 可写死的值
  1037. let ver = 'CEzH4wWd3bpFHKMyH4qSK0U6W2Ueydin9l2pukTJElc=',
  1038. fpt = ";-1;dis;;true;true;true;-480;true;24;24;true;false;-1",
  1039. ajr = get_ajr(startTs), //用到 2 次,且要一致
  1040. url = "https://www.jetstar.com/hk/zh/home?adults=1&children=0&flexible=1&flight-type=2&infants=0&origin=PVG&tab=1",
  1041. dsi = [{"get": ""}, {"set": "0"}, {"ico": "070f409b82df3bdd2f51a6415c7895353c153c47fe6dd8a0f87f3d14c46ccb2b"}, {"ift": "3"}, {"xof": "4,11,1,1,8"}, {"xot": "4,11,1,1,8"}, {"wev": "Google Inc. (Intel);wev;Google Inc. (Intel)"}, {"wre": "Google Inc. (Intel);wre;Google Inc. (Intel)"}, {"wdr": "0"}, {"iks": ""}, {"lds": "1"}, {"sst": ""}],
  1042. // mev 可写死, 但可能会触发验证码??
  1043. mev = "0,1,114,1356,242;1,1,694,1351,250;2,1,783,1295,311;3,1,838,1281,331;4,1,1306,1275,333;5,1,1311,1266,333;6,1,1322,1255,333;7,1,1337,1233,337;8,1,1354,1216,340;9,1,1370,1209,340;10,1,1394,1202,340;11,1,1403,1201,340;12,1,2892,1191,340;13,1,2905,1183,340;14,1,2921,1181,339;15,1,3038,1177,338;16,1,3072,1175,336;17,1,3445,1174,336;18,1,3629,1170,336;19,1,3656,1169,336;20,1,3673,1167,337;21,1,3689,1163,338;22,1,3706,1152,338;23,1,3722,1135,338;24,1,3739,1113,328;25,1,3757,1080,302;26,1,3772,1052,281;27,1,3789,1006,251;28,1,3806,939,209;29,1,3823,865,174;30,1,3840,834,150;31,1,3857,820,141;32,1,3873,818,134;33,1,3889,818,123;34,1,3906,818,112;35,1,3922,818,103;36,1,3940,819,98;37,1,3956,820,96;38,1,4084,822,96;39,1,4106,827,105;40,1,4123,832,109;41,1,4139,843,112;42,1,4156,866,112;43,1,4173,908,105;44,1,4190,968,105;45,1,4253,1340,56;46,1,4281,1388,35;47,1,4294,1393,31;48,1,4373,1390,30;49,1,4390,1378,27;50,1,4406,1368,23;51,1,4424,1357,19;52,1,4440,1348,16;53,1,4457,1346,14;54,1,4490,1344,13;55,1,4507,1337,10;56,1,4523,1332,7;57,1,4533,1327,4;58,1,5324,1072,69;59,1,5343,1062,69;60,1,5357,1054,69;61,1,5374,1046,69;62,1,5390,1034,68;63,1,5407,1021,64;64,1,5424,1014,63;65,1,5443,1005,61;66,1,5458,994,60;67,1,5474,977,55;68,1,5491,965,51;69,1,5507,958,47;70,1,5525,950,45;71,1,5542,944,45;72,1,5557,943,45;73,3,5633,943,45,-1;74,4,5725,943,45,-1;75,2,5728,943,45,-1;76,1,8014,509,619;77,1,8021,509,622;78,1,8029,502,628;79,1,8103,447,670;80,1,8145,447,674;81,1,8156,447,675;82,1,8172,448,675;83,1,8332,449,675;84,1,8340,456,675;85,1,8348,465,672;86,1,8356,476,670;87,1,8364,487,668;88,1,8372,498,665;89,1,8380,511,658;90,1,8389,521,655;91,1,8396,530,652;92,1,8404,532,650;93,1,8414,533,649;94,1,8426,534,649;95,3,8544,534,649,-1;"
  1044. ;
  1045. return {
  1046. "ver": ver,
  1047. "fpt": fpt,
  1048. "fpc": fpc(fpt),
  1049. "ajr": ajr,
  1050. "din": get_din(startTs),
  1051. "eem": "do_en,dm_en,t_en",
  1052. "ffs": "",
  1053. "vev": "2,490;3,5328;2,6723;3,8541;",
  1054. "inf": "",
  1055. "ajt": '0,0', // 逆向
  1056. "kev": "",
  1057. "dme": "0,521,-1,-1,-1,-1,-1,-1,-1,-1,-1;",
  1058. "mev": mev,
  1059. "doe": "0,522,-1,-1,-1;",
  1060. "pur": url,
  1061. "pev": "",
  1062. "mst": mst(startTs, ajr),
  1063. "o9": 0,
  1064. "tev": "",
  1065. "sde": "0,0,0,0,1,0,0",
  1066. "pmo": "",
  1067. "dpw": "",
  1068. "pac": "",
  1069. "per": '8', // 逆向
  1070. "dsi": dsi,
  1071. "wsl": "2172649472,76515477,62483333,100,1,1,1,1,0,1,,,,,,0,,,1,1",
  1072. "hls": "-1,,,1,1",
  1073. "pde": "",
  1074. "oev": "",
  1075. "if": "",
  1076. "fwd": [{"fmh": ""}, {"fmz": "1"}, {"ssh": "79d476b3ee7a1d053d47c234f8b00e881ef941614b47791e1d4610cb5e47a0ff"}],
  1077. }
  1078. }
  1079. // console.log(getObj31(1746605429721));
  1080. /**---------------------------------------------加密过程--------------------------------------------------------**/
  1081. // 用到的数字变量,一般不变 ----------------------------------------------
  1082. mU = [
  1083. -1,
  1084. -1,
  1085. -1,
  1086. -1,
  1087. -1,
  1088. -1,
  1089. -1,
  1090. -1,
  1091. -1,
  1092. -1,
  1093. -1,
  1094. -1,
  1095. -1,
  1096. -1,
  1097. -1,
  1098. -1,
  1099. -1,
  1100. -1,
  1101. -1,
  1102. -1,
  1103. -1,
  1104. -1,
  1105. -1,
  1106. -1,
  1107. -1,
  1108. -1,
  1109. -1,
  1110. -1,
  1111. -1,
  1112. -1,
  1113. -1,
  1114. -1,
  1115. 0,
  1116. 1,
  1117. -1,
  1118. 2,
  1119. 3,
  1120. 4,
  1121. 5,
  1122. -1,
  1123. 6,
  1124. 7,
  1125. 8,
  1126. 9,
  1127. 10,
  1128. 11,
  1129. 12,
  1130. 13,
  1131. 14,
  1132. 15,
  1133. 16,
  1134. 17,
  1135. 18,
  1136. 19,
  1137. 20,
  1138. 21,
  1139. 22,
  1140. 23,
  1141. 24,
  1142. 25,
  1143. 26,
  1144. 27,
  1145. 28,
  1146. 29,
  1147. 30,
  1148. 31,
  1149. 32,
  1150. 33,
  1151. 34,
  1152. 35,
  1153. 36,
  1154. 37,
  1155. 38,
  1156. 39,
  1157. 40,
  1158. 41,
  1159. 42,
  1160. 43,
  1161. 44,
  1162. 45,
  1163. 46,
  1164. 47,
  1165. 48,
  1166. 49,
  1167. 50,
  1168. 51,
  1169. 52,
  1170. 53,
  1171. 54,
  1172. 55,
  1173. 56,
  1174. 57,
  1175. -1,
  1176. 58,
  1177. 59,
  1178. 60,
  1179. 61,
  1180. 62,
  1181. 63,
  1182. 64,
  1183. 65,
  1184. 66,
  1185. 67,
  1186. 68,
  1187. 69,
  1188. 70,
  1189. 71,
  1190. 72,
  1191. 73,
  1192. 74,
  1193. 75,
  1194. 76,
  1195. 77,
  1196. 78,
  1197. 79,
  1198. 80,
  1199. 81,
  1200. 82,
  1201. 83,
  1202. 84,
  1203. 85,
  1204. 86,
  1205. 87,
  1206. 88,
  1207. 89,
  1208. 90,
  1209. 91
  1210. ] // 不变的
  1211. Dz = " !#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~"
  1212. var vJ9 = function () {
  1213. var wS9 = "3";
  1214. var JB = '0';
  1215. var SG9 = 1;
  1216. var S19 = 0;
  1217. var Zf9 = "0kjOk5uDxv22HSGAdNrD9101Gak6CFghAYCGIGnWw2g="; // 不同js文件是变化的, 但是在网页是固定值
  1218. var VP = [wS9, JB, SG9, S19, 4338241, Zf9];
  1219. var tK9 = VP["join"](";");
  1220. return tK9
  1221. };
  1222. var Mv = function (bm_sz) {
  1223. var CV = [8888888, 5885432]; // 第2个数字会变化
  1224. if (bm_sz) {
  1225. var vT = decodeURIComponent(bm_sz)["split"]("~");
  1226. if (vT["length"] >= 4) {
  1227. var Wl = parseInt(vT[2], 10);
  1228. Wl = isNaN(Wl) ? 8888888 : Wl;
  1229. CV[0] = Wl;
  1230. }
  1231. }
  1232. return CV
  1233. };
  1234. // 加密函数 ----------------------------------------------
  1235. function fun1(En9, W59) {
  1236. var UM9 = En9['split'](":")
  1237. ;
  1238. for (hw9 = 0; hw9 < UM9["length"]; hw9++) {
  1239. hj9 = (W59 >> 8 & 65535) % 115;
  1240. W59 *= 65793;
  1241. W59 &= 4294967295;
  1242. W59 += 4282663;
  1243. W59 &= 8388607;
  1244. JO9 = (W59 >> 8 & 65535) % UM9["length"];
  1245. W59 *= 65793;
  1246. W59 &= 4294967295;
  1247. W59 += 4282663;
  1248. W59 &= 8388607;
  1249. M09 = UM9[hj9];
  1250. UM9[hj9] = UM9[JO9];
  1251. UM9[JO9] = M09;
  1252. }
  1253. bF9 = UM9['join'](":")
  1254. return bF9
  1255. }
  1256. function fun2(Ig, Bx) {
  1257. var tv = "";
  1258. for (var sm = 0; sm < Ig['length']; sm++) {
  1259. var ZT = Ig['charAt'](sm);
  1260. var tE = Bx >> 8 & 65535;
  1261. Bx *= 65793;
  1262. Bx &= 4294967295;
  1263. Bx += 4282663;
  1264. Bx &= 8388607;
  1265. var pz = mU[Ig['charCodeAt'](sm)]; // 注意!!!
  1266. var Ad = ZT["codePointAt"](0);
  1267. if (Ad >= 32 && Ad < 127) {
  1268. pz = mU[Ad];
  1269. }
  1270. if (pz >= 0) {
  1271. var UE = tE % Dz['length'];
  1272. pz += UE;
  1273. pz %= Dz["length"];
  1274. ZT = Dz[pz];
  1275. }
  1276. tv += ZT;
  1277. }
  1278. return tv
  1279. }
  1280. var startTs = Date.now()
  1281. function encrypt1() {
  1282. MZN = [8888888, 4725438] // 第一次获取bmsz 没有cookie
  1283. args = getObj31(startTs);
  1284. U19 = JSON["stringify"](args); // 第1次生成: 将指纹对象转json字符串
  1285. U19 = fun1(U19, MZN[1]); // 第2次生成: 根据数组的数字
  1286. U19 = fun2(U19, MZN[0]) // 第3次生成: 第一次请求获取响应 bm_sz 时,数字是 8888888; 第二次请求时,数字是从 bm_sz 提取的
  1287. var GK9 = "5,23,0,0,1,37";
  1288. ver = 'CEzH4wWd3bpFHKMyH4qSK0U6W2Ueydin9l2pukTJElc='
  1289. var wC9 = `3;0;1;0;8888888;${ver}`; // 写死
  1290. U19 = ''.concat(wC9, ';')['concat'](GK9, ';')['concat'](U19); // 4
  1291. return U19
  1292. }
  1293. function encrypt2(bm_sz) {
  1294. MZN = Mv(bm_sz); // 根据cookie bm_sz 动态生成 加密数字数组
  1295. args = getObj31(startTs)
  1296. U19 = JSON["stringify"](args); // 第1次生成: 将指纹对象转json字符串
  1297. U19 = fun1(U19, MZN[1]); // 第2次生成: 根据数组的数字
  1298. U19 = fun2(U19, MZN[0]) // 第3次生成: 第一次请求获取响应 bm_sz 时,数字是 8888888; 第二次请求时,数字是从 bm_sz 提取的
  1299. // lE() BB DN9 PC9 是时间戳差值, mP是变化的数字, 参考最终输出结果: 36,82,0,0,2,561
  1300. // var GK9 = '36,82,0,0,2,252';
  1301. var GK9 = "43,0,0,0,0,0"; // 时间戳差值
  1302. var wC9 = `3;0;1;0;${MZN[0]};CEzH4wWd3bpFHKMyH4qSK0U6W2Ueydin9l2pukTJElc=`; // 写死
  1303. U19 = ''.concat(wC9, ';')['concat'](GK9, ';')['concat'](U19); // 4
  1304. console.log(U19)
  1305. return U19
  1306. }
  1307. bmsz = "94AB9BB58EBF3F381F6802C6E29DB66D~YAAQHWrRF7nppKaWAQAArrDlqRusyqLPBJpje5/eaQ+MRilUiqUFvEe7WhtGff1u+Bh5a2sNnYN7ZTYQ1Yo/EfkFGWr8/990MI90zpdU1pw6VgBDFy92/gi7o/d+brBbDE61NcpIHVdat/JMVq1SSg9fBH4XWJuDafxzIHGFP1zss5rjB1V5chVqCUSDo4aqTCMYxIZHQlCIVYOsiqmeDQGCFAzRdVxalnFomDAGSxgwuUoQkGx51/lCrmlL09cStbM8DDV9Xocmn/Tm99nMaGtZKQlELumhsYMU1wCC2S2inmoKEgVABwBPGnorq+TRRINMrOGym0In78QEW5mJU9uJCbEX0EBf0yExof0tdnVtgaizkNQMFSe1mJShRPRaM2rnjJ2MpI51nsq33WwTs08uDWwb0zDLqvozPw==~3425078~4407875"
  1308. encrypt2(bmsz)