Короче, весь их протект заключается в том что на окончании файлов ставится /, и в винраре и т.д, это визуально папка,
Сок в том что я написал трансформер под это и готов вам слить Decrypt часть и 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();
}
}
}
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