Port Injector to main layout

Adds deobfuscator
Adds injected-client
Adds injector-plugin
Adds runescape-client

Replaces RL's apis

Small bug with sprites atm, will be resolved soon. tired af.

Builds, probably
This commit is contained in:
zeruth
2019-06-08 05:43:03 -04:00
parent eafb024f16
commit e4d6e9fe13
1111 changed files with 135441 additions and 44733 deletions

View File

@@ -0,0 +1,167 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import net.runelite.rs.Reflection;
@ObfuscatedName("ez")
@Implements("UserComparator7")
public class UserComparator7 extends AbstractUserComparator {
@ObfuscatedName("m")
@Export("__m")
final boolean __m;
public UserComparator7(boolean var1) {
this.__m = var1;
}
@ObfuscatedName("m")
@ObfuscatedSignature(
signature = "(Lke;Lke;I)I",
garbageValue = "-9252550"
)
@Export("__m_270")
int __m_270(Buddy var1, Buddy var2) {
return var1.world0 != 0 && var2.world0 != 0?(this.__m?var1.int2 - var2.int2:var2.int2 - var1.int2):this.__x_461(var1, var2);
}
@Export("compare")
@ObfuscatedName("compare")
public int compare(Object var1, Object var2) {
return this.__m_270((Buddy)var1, (Buddy)var2);
}
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "(Lgr;II)V",
garbageValue = "-88211227"
)
public static void method3360(Buffer var0, int var1) {
ReflectionCheck var2 = new ReflectionCheck();
var2.size = var0.readUnsignedByte();
var2.id = var0.readInt();
var2.operations = new int[var2.size];
var2.creationErrors = new int[var2.size];
var2.fields = new Field[var2.size];
var2.intReplaceValues = new int[var2.size];
var2.methods = new Method[var2.size];
var2.arguments = new byte[var2.size][][];
for(int var3 = 0; var3 < var2.size; ++var3) {
try {
int var4 = var0.readUnsignedByte();
String var5;
String var6;
int var7;
if(var4 != 0 && var4 != 1 && var4 != 2) {
if(var4 == 3 || var4 == 4) {
var5 = var0.readStringCp1252NullTerminated();
var6 = var0.readStringCp1252NullTerminated();
var7 = var0.readUnsignedByte();
String[] var8 = new String[var7];
for(int var9 = 0; var9 < var7; ++var9) {
var8[var9] = var0.readStringCp1252NullTerminated();
}
String var20 = var0.readStringCp1252NullTerminated();
byte[][] var10 = new byte[var7][];
int var12;
if(var4 == 3) {
for(int var11 = 0; var11 < var7; ++var11) {
var12 = var0.readInt();
var10[var11] = new byte[var12];
var0.__al_305(var10[var11], 0, var12);
}
}
var2.operations[var3] = var4;
Class[] var21 = new Class[var7];
for(var12 = 0; var12 < var7; ++var12) {
var21[var12] = VarcInt.loadClassFromDescriptor(var8[var12]);
}
Class var22 = VarcInt.loadClassFromDescriptor(var20);
if(VarcInt.loadClassFromDescriptor(var5).getClassLoader() == null) {
throw new SecurityException();
}
Method[] var13 = VarcInt.loadClassFromDescriptor(var5).getDeclaredMethods();
Method[] var14 = var13;
for(int var15 = 0; var15 < var14.length; ++var15) {
Method var16 = var14[var15];
if(Reflection.getMethodName(var16).equals(var6)) {
Class[] var17 = Reflection.getParameterTypes(var16);
if(var21.length == var17.length) {
boolean var18 = true;
for(int var19 = 0; var19 < var21.length; ++var19) {
if(var21[var19] != var17[var19]) {
var18 = false;
break;
}
}
if(var18 && var22 == var16.getReturnType()) {
var2.methods[var3] = var16;
}
}
}
}
var2.arguments[var3] = var10;
}
} else {
var5 = var0.readStringCp1252NullTerminated();
var6 = var0.readStringCp1252NullTerminated();
var7 = 0;
if(var4 == 1) {
var7 = var0.readInt();
}
var2.operations[var3] = var4;
var2.intReplaceValues[var3] = var7;
if(VarcInt.loadClassFromDescriptor(var5).getClassLoader() == null) {
throw new SecurityException();
}
var2.fields[var3] = Reflection.findField(VarcInt.loadClassFromDescriptor(var5), var6);
}
} catch (ClassNotFoundException var24) {
var2.creationErrors[var3] = -1;
} catch (SecurityException var25) {
var2.creationErrors[var3] = -2;
} catch (NullPointerException var26) {
var2.creationErrors[var3] = -3;
} catch (Exception var27) {
var2.creationErrors[var3] = -4;
} catch (Throwable var28) {
var2.creationErrors[var3] = -5;
}
}
class322.reflectionChecks.addFirst(var2);
}
@ObfuscatedName("ho")
@ObfuscatedSignature(
signature = "(II)Z",
garbageValue = "2084569794"
)
static final boolean method3364(int var0) {
if(var0 < 0) {
return false;
} else {
int var1 = Client.menuOpcodes[var0];
if(var1 >= 2000) {
var1 -= 2000;
}
return var1 == 1007;
}
}
}