Исходник Paragone obfuscation & deobf CrystalClient jar $$$ | Source

1
Пользователь
Статус
Оффлайн
Регистрация
22 Авг 2021
Сообщения
485
Реакции[?]
45
Поинты[?]
7K
Короче, весь их протект заключается в том что на окончании файлов ставится /, и в винраре и т.д, это визуально папка,
Сок в том что я написал трансформер под это и готов вам слить Decrypt часть и Encrypt часть:)

Decrypt::
package me.internalprotect;

import java.io.*;
import java.util.jar.*;

public class ClassFileRemapper {
    public static void main(String[] args) {
        if (args.length != 1) {
            System.out.println("Usage: java -jar ClassFileRemapper <input_jar>");
            return;
        }

        String джарпуть = args[0];

        патчингДжарки(джарпуть);
    }

    public static void патчингДжарки(String джарПуть) {
        try {
            File inputFile = new File(джарПуть);
            if (!inputFile.exists()) {
                System.out.println("Input JAR file not found.");
                return;
            }

            String outputJarFilePath = джарПуть.replace(".jar", "-out.jar");
            File outputFile = new File(outputJarFilePath);

            FileInputStream fis = new FileInputStream(inputFile);
            FileOutputStream fos = new FileOutputStream(outputFile);
            JarInputStream jis = new JarInputStream(fis);
            JarOutputStream jos = new JarOutputStream(fos);

            byte[] buffer = new byte[1024];
            int bytesRead;

            JarEntry entry;
            while ((entry = jis.getNextJarEntry()) != null) {
                String name = entry.getName();
                System.out.println("Читаю: " + name);
                if (name.endsWith(".class/")) {
                    name = name.replace(".class/", ".class");
                }

                jos.putNextEntry(new JarEntry(name));
                while ((bytesRead = jis.read(buffer)) != -1) {
                    jos.write(buffer, 0, bytesRead);
                }
                jos.closeEntry();
            }

            jis.close();
            jos.close();
            fis.close();
            fos.close();

            System.out.println("Сохранил в: " + outputJarFilePath);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Encrypt $$$:
package me.internalprotect;

import java.io.*;
import java.util.jar.*;

public class ClassFileRemapper {
    public static void main(String[] args) {
        if (args.length != 1) {
            System.out.println("Usage: java -jar ClassFileRemapper <input_jar>");
            return;
        }

        String джарпуть = args[0];

        патчингДжарки(джарпуть);
    }

    public static void патчингДжарки(String джарПуть) {
        try {
            File inputFile = new File(джарПуть);
            if (!inputFile.exists()) {
                System.out.println("Input JAR file not found.");
                return;
            }

            String outputJarFilePath = джарПуть.replace(".jar", "-out.jar");
            File outputFile = new File(outputJarFilePath);

            FileInputStream fis = new FileInputStream(inputFile);
            FileOutputStream fos = new FileOutputStream(outputFile);
            JarInputStream jis = new JarInputStream(fis);
            JarOutputStream jos = new JarOutputStream(fos);

            byte[] buffer = new byte[1024];
            int bytesRead;

            JarEntry entry;
            while ((entry = jis.getNextJarEntry()) != null) {
                String name = entry.getName();
                System.out.println("Читаю: " + name);
                if (name.endsWith(".class")) {
                    name = name.replace(".class", ".class/");
                }

                jos.putNextEntry(new JarEntry(name));
                while ((bytesRead = jis.read(buffer)) != -1) {
                    jos.write(buffer, 0, bytesRead);
                }
                jos.closeEntry();
            }

            jis.close();
            jos.close();
            fis.close();
            fos.close();

            System.out.println("Сохранил в: " + outputJarFilePath);
     } catch (IOException e) {
            e.printStackTrace();
        }
}
DW (DEOBF & REMAPPED CLASSES):
Пожалуйста, авторизуйтесь для просмотра ссылки.

SS: (Decrypted CrystalClient $$$)
Посмотреть вложение 272190
че за паста expensive'a, ноль обходов под грим. говно
 
Сверху Снизу