mirror of
https://github.com/exituser/Brewery.git
synced 2026-09-17 06:38:56 +00:00
Added XOR Scrambler for Brew data
Very fast obfuscator for brew data so that a client cant easily read it
This commit is contained in:
@@ -86,6 +86,136 @@ public class P extends JavaPlugin {
|
||||
|
||||
//P.p.log("§" + (use1_9 ? "a":"c") + "1.9 " + "§" + (use1_11 ? "a":"c") + "1.11 " + "§" + (use1_13 ? "a":"c") + "1.13 " + "§" + (use1_14 ? "a":"c") + "1.14");
|
||||
|
||||
/*long master = new SecureRandom().nextLong();
|
||||
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
|
||||
XORScrambleStream scramble = new XORScrambleStream(new Base91EncoderStream(byteStream), master);
|
||||
DataOutputStream data = new DataOutputStream(scramble);
|
||||
DataInputStream dataIn = null;
|
||||
try {
|
||||
scramble.start();
|
||||
data.writeLong(12345L);
|
||||
scramble.stop();
|
||||
data.writeInt(1);
|
||||
data.writeInt(1);
|
||||
scramble.start();
|
||||
data.writeDouble(0.55555D);
|
||||
data.writeInt(234323);
|
||||
//data.writeUTF("Hallo Peter");
|
||||
data.writeLong(5419L); // Skip
|
||||
data.writeDouble(0.55555D);
|
||||
|
||||
data.close();
|
||||
|
||||
XORUnscrambleStream unscramble = new XORUnscrambleStream(new Base91DecoderStream(new ByteArrayInputStream(byteStream.toByteArray())), master);
|
||||
dataIn = new DataInputStream(unscramble);
|
||||
unscramble.start();
|
||||
P.p.log(dataIn.readLong() + "");
|
||||
unscramble.stop();
|
||||
P.p.log(dataIn.readInt() + "");
|
||||
P.p.log(dataIn.readInt() + "");
|
||||
unscramble.start();
|
||||
P.p.log(dataIn.readDouble() + "");
|
||||
dataIn.mark(1000);
|
||||
P.p.log(dataIn.readInt() + "");
|
||||
//P.p.log(dataIn.readUTF());
|
||||
dataIn.skip(8);
|
||||
P.p.log(dataIn.readDouble() + "");
|
||||
P.p.log("reset");
|
||||
dataIn.reset();
|
||||
P.p.log(dataIn.readInt() + "");
|
||||
//P.p.log(dataIn.readUTF());
|
||||
dataIn.skip(8);
|
||||
P.p.log(dataIn.readDouble() + "");
|
||||
|
||||
dataIn.close();
|
||||
|
||||
*//*for (int i = 0; i < 10; i++) {
|
||||
byteStream = new ByteArrayOutputStream();
|
||||
scramble = new XORScrambleStream(new Base91EncoderStream(byteStream));
|
||||
data = new DataOutputStream(scramble);
|
||||
data.writeInt(i);
|
||||
scramble.start();
|
||||
data.writeLong(12345L);
|
||||
data.writeLong(12345L);
|
||||
scramble.stop();
|
||||
data.writeInt(1);
|
||||
data.writeInt(1);
|
||||
scramble.start();
|
||||
data.writeInt(234323);
|
||||
data.writeDouble(0.55555D);
|
||||
|
||||
P.p.log(byteStream.toString());
|
||||
data.close();
|
||||
}*//*
|
||||
|
||||
|
||||
long time = System.currentTimeMillis();
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
unscramble = new XORUnscrambleStream(new Base91DecoderStream(new ByteArrayInputStream(byteStream.toByteArray())), master);
|
||||
dataIn = new DataInputStream(unscramble);
|
||||
unscramble.start();
|
||||
dataIn.readLong();
|
||||
unscramble.stop();
|
||||
dataIn.readInt();
|
||||
dataIn.readInt();
|
||||
unscramble.start();
|
||||
dataIn.readDouble();
|
||||
dataIn.mark(1000);
|
||||
dataIn.readInt();
|
||||
//dataIn.readUTF();
|
||||
dataIn.skip(8);
|
||||
dataIn.readDouble();
|
||||
dataIn.reset();
|
||||
dataIn.readInt();
|
||||
//dataIn.readUTF();
|
||||
dataIn.skip(8);
|
||||
dataIn.readDouble();
|
||||
|
||||
dataIn.close();
|
||||
}
|
||||
long time2 = System.currentTimeMillis();
|
||||
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
unscramble = new XORUnscrambleStream(new ByteArrayInputStream(byteStream.toByteArray()), master);
|
||||
dataIn = new DataInputStream(unscramble);
|
||||
unscramble.start();
|
||||
dataIn.skip(2);
|
||||
dataIn.readLong();
|
||||
unscramble.stop();
|
||||
dataIn.readInt();
|
||||
dataIn.readInt();
|
||||
unscramble.start();
|
||||
dataIn.readDouble();
|
||||
dataIn.mark(1000);
|
||||
dataIn.readInt();
|
||||
//dataIn.readUTF();
|
||||
dataIn.skip(8);
|
||||
dataIn.readDouble();
|
||||
dataIn.reset();
|
||||
dataIn.readInt();
|
||||
//dataIn.readUTF();
|
||||
dataIn.skip(8);
|
||||
dataIn.readDouble();
|
||||
|
||||
dataIn.close();
|
||||
}
|
||||
long time3 = System.currentTimeMillis();
|
||||
|
||||
P.p.log("Time with base91: " + (time2 - time));
|
||||
P.p.log("Time without base91: " + (time3 - time2));
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
data.close();
|
||||
if (dataIn != null) {
|
||||
dataIn.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}*/
|
||||
|
||||
/*try {
|
||||
ItemMeta meta = new ItemStack(Material.POTION).getItemMeta();
|
||||
@@ -577,8 +707,11 @@ public class P extends JavaPlugin {
|
||||
FileConfiguration data = YamlConfiguration.loadConfiguration(file);
|
||||
|
||||
Brew.installTime = data.getLong("installTime", System.currentTimeMillis());
|
||||
|
||||
MCBarrel.mcBarrelTime = data.getLong("MCBarrelTime", 0);
|
||||
|
||||
Brew.loadSeed(data);
|
||||
|
||||
// Check if data is the newest version
|
||||
String version = data.getString("Version", null);
|
||||
if (version != null) {
|
||||
|
||||
Reference in New Issue
Block a user