Add RuneWild MAC spoofer (almost identical to LocoPK)

This commit is contained in:
Jak
2018-07-29 19:42:05 +01:00
parent 23433d76db
commit f81c861fe0
3 changed files with 110 additions and 1 deletions
+3 -1
View File
@@ -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());
@@ -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();
}
}
@@ -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;
}