From 23433d76dbd417714d69b188c0d7b92d9a0af891 Mon Sep 17 00:00:00 2001 From: Jak Date: Sun, 29 Jul 2018 04:13:29 +0100 Subject: [PATCH 1/4] Add info log message regarding randoms loaded for the given server --- src/main/java/org/parabot/randoms/Core.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/parabot/randoms/Core.java b/src/main/java/org/parabot/randoms/Core.java index a6ee8f0..30df961 100755 --- a/src/main/java/org/parabot/randoms/Core.java +++ b/src/main/java/org/parabot/randoms/Core.java @@ -1,5 +1,6 @@ package org.parabot.randoms; +import org.parabot.api.output.Logger; import org.parabot.core.Context; import org.parabot.environment.randoms.Random; import org.parabot.randoms.dreamscape.FileBan; @@ -44,12 +45,20 @@ public class Core { // SoulPlay randoms.add(new RandomUUID()); - org.parabot.core.Core.verbose("Possible randoms:"); + StringBuilder sb = new StringBuilder(); + sb.append("Possible randoms:\n"); + int randomCount = 0; for (Random random : randoms) { if (random.getServer().equalsIgnoreCase(server)) { - org.parabot.core.Core.verbose("-> " + random.getName()); + sb.append("\t-> ").append(random.getName()); Context.getInstance().getRandomHandler().addRandom(random); + randomCount++; } } + final String toPrint = sb.append("\n").toString(); + if (toPrint.contains("->")) { + org.parabot.core.Core.verbose(toPrint); + } + Logger.info("org.parabot.randoms.Core", "A total of "+randomCount+" randoms have been loaded for server: "+server); } } From f81c861fe07863c416ba3adfc6fa97aa4b3a4e57 Mon Sep 17 00:00:00 2001 From: Jak Date: Sun, 29 Jul 2018 19:42:05 +0100 Subject: [PATCH 2/4] Add RuneWild MAC spoofer (almost identical to LocoPK) --- src/main/java/org/parabot/randoms/Core.java | 4 +- .../runewild/MacAddressFix_Runewild.java | 104 ++++++++++++++++++ .../parabot/randoms/soulplay/RandomUUID.java | 3 + 3 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/parabot/randoms/runewild/MacAddressFix_Runewild.java diff --git a/src/main/java/org/parabot/randoms/Core.java b/src/main/java/org/parabot/randoms/Core.java index 30df961..264bdae 100755 --- a/src/main/java/org/parabot/randoms/Core.java +++ b/src/main/java/org/parabot/randoms/Core.java @@ -10,6 +10,7 @@ import org.parabot.randoms.elkoy.MouseOnScreen; import org.parabot.randoms.elkoy.QuestionSolver; import org.parabot.randoms.locopk.MacAddressFix; import org.parabot.randoms.pkhonor.*; +import org.parabot.randoms.runewild.MacAddressFix_Runewild; import org.parabot.randoms.soulplay.RandomUUID; import java.util.ArrayList; @@ -36,8 +37,9 @@ public class Core { randoms.add(new MouseOnScreen()); randoms.add(new AntiDetector()); - // LocoPK + // LocoPK - rebranded to RuneWild randoms.add(new MacAddressFix()); + randoms.add(new MacAddressFix_Runewild()); // Dreamscape randoms.add(new FileBan()); diff --git a/src/main/java/org/parabot/randoms/runewild/MacAddressFix_Runewild.java b/src/main/java/org/parabot/randoms/runewild/MacAddressFix_Runewild.java new file mode 100644 index 0000000..b1e6465 --- /dev/null +++ b/src/main/java/org/parabot/randoms/runewild/MacAddressFix_Runewild.java @@ -0,0 +1,104 @@ +package org.parabot.randoms.runewild; + +import java.util.UUID; +import org.parabot.api.output.Logger; +import org.parabot.core.Context; +import org.parabot.core.asm.ASMClassLoader; +import org.parabot.core.reflect.RefClass; +import org.parabot.core.reflect.RefField; +import org.parabot.environment.randoms.Random; +import org.parabot.environment.randoms.RandomType; + +/** + * @author EmmaStone + */ +public class MacAddressFix_Runewild implements Random { + + private boolean done; + + @Override + public boolean activate() { + return true; + } + + @Override + public void execute() { + try { + final ASMClassLoader classLoader = Context.getInstance().getASMClassLoader(); + + RefClass createUID = new RefClass(classLoader.loadClass("com.rw.client.rs.CreateUID")); + + + try { + Logger.info("MacAddressFix_RW", String.format( + "Before applying MAC override : %s | %s | %s", + createUID.getField("mac").getField().get(""), + createUID.getField("firstId").getField().get(""), + createUID.getField("secondId").getField().get(""))); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + + String s1 = UUID.randomUUID().toString(); + String s2 = UUID.randomUUID().toString(); + + RefField mac = createUID.getField("mac"); + mac.set("lolmkay"); + + RefField firstId = createUID.getField("firstId"); + firstId.set(s1); + + RefField secondId = createUID.getField("secondId"); + secondId.set(s2); + try { + Logger.info("MacAddressFix_RW", String.format( + "Applied MAC override : %s | %s | %s", + mac.getField().get(""), + firstId.getField().get(""), + secondId.getField().get(""))); + } catch (IllegalAccessException e) { + e.printStackTrace(); + Logger.error("Macfix RW", e.getMessage()); + } + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + + done = true; + } + + @Override + public String getName() { + return "Mac Address Fix"; + } + + @Override + public String getServer() { + return "RuneWild"; + } + + @Override + public RandomType getRandomType() { + return RandomType.ON_SERVER_START; + } + + private String randomMacAddress() { + java.util.Random rand = new java.util.Random(); + byte[] macAddr = new byte[6]; + rand.nextBytes(macAddr); + + macAddr[0] = (byte) (macAddr[0] & (byte) 254); //zeroing last 2 bytes to make it unicast and locally adminstrated + + StringBuilder sb = new StringBuilder(18); + for (byte b : macAddr) { + + if (sb.length() > 0) { + sb.append(""); + } + + sb.append(String.format("%02x", b)); + } + + return sb.toString().toUpperCase(); + } +} diff --git a/src/main/java/org/parabot/randoms/soulplay/RandomUUID.java b/src/main/java/org/parabot/randoms/soulplay/RandomUUID.java index 2904c9a..73c6168 100644 --- a/src/main/java/org/parabot/randoms/soulplay/RandomUUID.java +++ b/src/main/java/org/parabot/randoms/soulplay/RandomUUID.java @@ -1,5 +1,6 @@ package org.parabot.randoms.soulplay; +import org.parabot.api.output.Logger; import org.parabot.core.reflect.RefClass; import org.parabot.environment.randoms.Random; import org.parabot.environment.randoms.RandomType; @@ -15,6 +16,8 @@ public class RandomUUID implements Random { private long number; public RandomUUID() { + Logger.info("RandomUUID", Loader.getClient()+" is client class"); + assert Loader.getClient() != null; this.clientClass = new RefClass(Loader.getClient()); this.number = (long) Math.floor(Math.random() * 9000000000L) + 1000000000L; } From a3168fed0afac2059a8b10feaa92f46730f9b5b2 Mon Sep 17 00:00:00 2001 From: Shadowrs Date: Thu, 16 Aug 2018 00:52:09 +0100 Subject: [PATCH 3/4] Revert debug SoulPlay code change + replace Logger.info with verbose() call to prune the message if wanted --- src/main/java/org/parabot/randoms/Core.java | 2 +- src/main/java/org/parabot/randoms/soulplay/RandomUUID.java | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/org/parabot/randoms/Core.java b/src/main/java/org/parabot/randoms/Core.java index 264bdae..baccc5f 100755 --- a/src/main/java/org/parabot/randoms/Core.java +++ b/src/main/java/org/parabot/randoms/Core.java @@ -61,6 +61,6 @@ public class Core { if (toPrint.contains("->")) { org.parabot.core.Core.verbose(toPrint); } - Logger.info("org.parabot.randoms.Core", "A total of "+randomCount+" randoms have been loaded for server: "+server); + org.parabot.core.Core.verbose("[org.parabot.randoms.Core] A total of "+randomCount+" randoms have been loaded for server: "+server); } } diff --git a/src/main/java/org/parabot/randoms/soulplay/RandomUUID.java b/src/main/java/org/parabot/randoms/soulplay/RandomUUID.java index 73c6168..2904c9a 100644 --- a/src/main/java/org/parabot/randoms/soulplay/RandomUUID.java +++ b/src/main/java/org/parabot/randoms/soulplay/RandomUUID.java @@ -1,6 +1,5 @@ package org.parabot.randoms.soulplay; -import org.parabot.api.output.Logger; import org.parabot.core.reflect.RefClass; import org.parabot.environment.randoms.Random; import org.parabot.environment.randoms.RandomType; @@ -16,8 +15,6 @@ public class RandomUUID implements Random { private long number; public RandomUUID() { - Logger.info("RandomUUID", Loader.getClient()+" is client class"); - assert Loader.getClient() != null; this.clientClass = new RefClass(Loader.getClient()); this.number = (long) Math.floor(Math.random() * 9000000000L) + 1000000000L; } From 0786d43e87286f411872c8ce62f3ab915e8da8f5 Mon Sep 17 00:00:00 2001 From: Shadowrs Date: Fri, 24 Aug 2018 02:56:03 +0100 Subject: [PATCH 4/4] Remove LocoPK MacAddressFix since server is discontinued + proper name for RW Random without the suffix --- src/main/java/org/parabot/randoms/Core.java | 7 +- .../parabot/randoms/locopk/MacAddressFix.java | 83 ------------------- ...ssFix_Runewild.java => MacAddressFix.java} | 5 +- 3 files changed, 5 insertions(+), 90 deletions(-) delete mode 100644 src/main/java/org/parabot/randoms/locopk/MacAddressFix.java rename src/main/java/org/parabot/randoms/runewild/{MacAddressFix_Runewild.java => MacAddressFix.java} (95%) diff --git a/src/main/java/org/parabot/randoms/Core.java b/src/main/java/org/parabot/randoms/Core.java index baccc5f..1d45bd9 100755 --- a/src/main/java/org/parabot/randoms/Core.java +++ b/src/main/java/org/parabot/randoms/Core.java @@ -1,6 +1,5 @@ package org.parabot.randoms; -import org.parabot.api.output.Logger; import org.parabot.core.Context; import org.parabot.environment.randoms.Random; import org.parabot.randoms.dreamscape.FileBan; @@ -8,9 +7,8 @@ import org.parabot.randoms.elkoy.AntiDetector; import org.parabot.randoms.elkoy.LogoutDisabler; import org.parabot.randoms.elkoy.MouseOnScreen; import org.parabot.randoms.elkoy.QuestionSolver; -import org.parabot.randoms.locopk.MacAddressFix; import org.parabot.randoms.pkhonor.*; -import org.parabot.randoms.runewild.MacAddressFix_Runewild; +import org.parabot.randoms.runewild.MacAddressFix; import org.parabot.randoms.soulplay.RandomUUID; import java.util.ArrayList; @@ -37,9 +35,8 @@ public class Core { randoms.add(new MouseOnScreen()); randoms.add(new AntiDetector()); - // LocoPK - rebranded to RuneWild + // RuneWild randoms.add(new MacAddressFix()); - randoms.add(new MacAddressFix_Runewild()); // Dreamscape randoms.add(new FileBan()); diff --git a/src/main/java/org/parabot/randoms/locopk/MacAddressFix.java b/src/main/java/org/parabot/randoms/locopk/MacAddressFix.java deleted file mode 100644 index deaa8fb..0000000 --- a/src/main/java/org/parabot/randoms/locopk/MacAddressFix.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.parabot.randoms.locopk; - -import org.parabot.core.Context; -import org.parabot.core.asm.ASMClassLoader; -import org.parabot.core.reflect.RefClass; -import org.parabot.core.reflect.RefField; -import org.parabot.environment.randoms.Random; -import org.parabot.environment.randoms.RandomType; - -import java.util.UUID; - -/** - * @author EmmaStone - */ -public class MacAddressFix implements Random { - - private boolean done; - - @Override - public boolean activate() { - return !done; - } - - @Override - public void execute() { - try { - final ASMClassLoader classLoader = Context.getInstance().getASMClassLoader(); - - RefClass createUID = new RefClass(classLoader.loadClass("com.locopk.client.rs.CreateUID")); - - String s1 = UUID.randomUUID().toString(); - String s2 = UUID.randomUUID().toString(); - - RefField mac = createUID.getField("mac"); - mac.set(randomMacAddress()); - - RefField firstId = createUID.getField("firstId"); - firstId.set(s1); - - RefField secondId = createUID.getField("secondId"); - secondId.set(s2); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } - - done = true; - } - - @Override - public String getName() { - return "Mac Address Fix"; - } - - @Override - public String getServer() { - return "locopk"; - } - - @Override - public RandomType getRandomType() { - return RandomType.ON_SERVER_START; - } - - private String randomMacAddress() { - java.util.Random rand = new java.util.Random(); - byte[] macAddr = new byte[6]; - rand.nextBytes(macAddr); - - macAddr[0] = (byte) (macAddr[0] & (byte) 254); //zeroing last 2 bytes to make it unicast and locally adminstrated - - StringBuilder sb = new StringBuilder(18); - for (byte b : macAddr) { - - if (sb.length() > 0) { - sb.append(""); - } - - sb.append(String.format("%02x", b)); - } - - return sb.toString().toUpperCase(); - } -} diff --git a/src/main/java/org/parabot/randoms/runewild/MacAddressFix_Runewild.java b/src/main/java/org/parabot/randoms/runewild/MacAddressFix.java similarity index 95% rename from src/main/java/org/parabot/randoms/runewild/MacAddressFix_Runewild.java rename to src/main/java/org/parabot/randoms/runewild/MacAddressFix.java index b1e6465..b866760 100644 --- a/src/main/java/org/parabot/randoms/runewild/MacAddressFix_Runewild.java +++ b/src/main/java/org/parabot/randoms/runewild/MacAddressFix.java @@ -10,9 +10,10 @@ import org.parabot.environment.randoms.Random; import org.parabot.environment.randoms.RandomType; /** - * @author EmmaStone + * @author EmmaStone - Originally for LocoPK + * @author Shadowrs - fixed for RuneWild with additions */ -public class MacAddressFix_Runewild implements Random { +public class MacAddressFix implements Random { private boolean done;