Optional compatibility with 2009scape (Arios)

This commit is contained in:
Pazaz 2022-04-20 18:01:15 -04:00
parent 3f54273220
commit bb2af2204c
26 changed files with 135 additions and 89 deletions

View file

@ -1,8 +1,41 @@
import org.openrs2.deob.annotation.OriginalMember;
import java.math.BigInteger;
public class GlobalConfig {
//region 2009scape-compatibility Configuration
@OriginalMember(owner = "client!um", name = "V", descriptor = "Ljava/math/BigInteger;")
public static final BigInteger RSA_MODULUS = new BigInteger("96982303379631821170939875058071478695026608406924780574168393250855797534862289546229721580153879336741968220328805101128831071152160922518190059946555203865621183480223212969502122536662721687753974815205744569357388338433981424032996046420057284324856368815997832596174397728134370577184183004453899764051");
@OriginalMember(owner = "client!gm", name = "X", descriptor = "Ljava/math/BigInteger;")
public static final BigInteger RSA_EXPONENT = new BigInteger("65537");
// Server IP
public static String DEFAULT_HOSTNAME = "play.2009scape.org";
// Jagex had this at 40000+id
public static int DEFAULT_PORT = 43594;
// Jagex had this at 50000+id/443
public static int ALTERNATE_PORT = 43593;
// If this isn't set, the world server will need to send a default
public static boolean SELECT_DEFAULT_WORLD = true;
// Some servers don't use ISAAC.
// Send strings instead of base37 for login/registration packets
public static boolean LOGIN_USE_STRINGS = true;
// Send additional information like user/serial/mac address
public static boolean LOGIN_EXTRA_INFO = true;
// Send an additional empty CRC for idx28 (not in this revision originally)
public static boolean LOGIN_FAKE_IDX28 = true;
// Packet opcode encryption
public static boolean USE_ISAAC = false;
//endregion
// Jagex's RSA key:
// public static final BigInteger RSA_MODULUS = new BigInteger("7162900525229798032761816791230527296329313291232324290237849263501208207972894053929065636522363163621000728841182238772712427862772219676577293600221789");
// public static final BigInteger RSA_EXPONENT = new BigInteger("58778699976184461502525193738213253649000149147835990136706041084440742975821");
}

View file

@ -787,7 +787,7 @@ public final class JagString implements StringInterface {
}
@OriginalMember(owner = "client!na", name = "j", descriptor = "(I)J")
public final long method3158() {
public final long encode37() {
@Pc(7) long local7 = 0L;
for (@Pc(14) int local14 = 0; this.anInt4030 > local14 && local14 < 12; local14++) {
@Pc(32) byte local32 = this.aByteArray52[local14];
@ -808,7 +808,7 @@ public final class JagString implements StringInterface {
@OriginalMember(owner = "client!na", name = "k", descriptor = "(I)Lclient!na;")
public final JagString method3159() {
@Pc(9) JagString local9 = Static79.method1702(this.method3158());
@Pc(9) JagString local9 = Static79.decode37(this.encode37());
return local9 == null ? Static228.aClass100_967 : local9;
}

View file

@ -120,7 +120,7 @@ public final class Player extends PathingEntity {
}
this.anInt3365 = arg0.g2();
@Pc(236) long local236 = arg0.g8();
this.aClass100_364 = Static79.method1702(local236).method3125();
this.aClass100_364 = Static79.decode37(local236).method3125();
this.anInt1652 = arg0.g1();
if (local37) {
this.anInt1671 = arg0.g2();

View file

@ -85,7 +85,7 @@ public final class Static122 {
local13.anInt2028 = (arg6.method2693() + arg0) * 128;
local13.anInt2044 = Static140.method2706(arg6);
local13.anInt2042 = arg6.anInt1664 * 128;
Static93.aClass133_7.method3862(local13, arg6.aClass100_364.method3158());
Static93.aClass133_7.method3862(local13, arg6.aClass100_364.encode37());
}
}

View file

@ -57,7 +57,7 @@ public final class Static140 {
Static103.method2231(Static186.aClass100_827, 0, LocalizedText.IGNORELISTFULL);
return;
}
@Pc(34) JagString local34 = Static79.method1702(arg0).method3125();
@Pc(34) JagString local34 = Static79.decode37(arg0).method3125();
@Pc(36) int local36;
for (local36 = 0; local36 < Static35.anInt1093; local36++) {
if (Static190.aLongArray6[local36] == arg0) {
@ -76,7 +76,7 @@ public final class Static140 {
return;
}
Static190.aLongArray6[Static35.anInt1093] = arg0;
Static193.aClass100Array134[Static35.anInt1093++] = Static79.method1702(arg0);
Static193.aClass100Array134[Static35.anInt1093++] = Static79.decode37(arg0);
Static185.anInt4369 = Static119.transmitTimer;
Static6.outboundBuffer.p1isaac(34);
Static6.outboundBuffer.p8(arg0);

View file

@ -96,7 +96,7 @@ public final class Static158 {
Static57.aClass3_Sub15_Sub1_3.offset = 0;
Static124.socket.method2827(0, Static229.aClass100Array156.length * 8, Static57.aClass3_Sub15_Sub1_3.data);
for (local120 = 0; local120 < Static229.aClass100Array156.length; local120++) {
Static229.aClass100Array156[local120] = Static79.method1702(Static57.aClass3_Sub15_Sub1_3.g8());
Static229.aClass100Array156[local120] = Static79.decode37(Static57.aClass3_Sub15_Sub1_3.g8());
}
Static223.anInt5034 = 21;
Static179.anInt4261 = 0;

View file

@ -50,6 +50,6 @@ public final class Static171 {
public static void method3221(@OriginalArg(1) JagString arg0, @OriginalArg(2) int arg1) {
Static6.outboundBuffer.p1isaac(188);
Static6.outboundBuffer.p1a(arg1);
Static6.outboundBuffer.p8(arg0.method3158());
Static6.outboundBuffer.p8(arg0.encode37());
}
}

View file

@ -27,7 +27,7 @@ public final class Static178 {
if (Static199.aClass3_Sub22Array1 == null) {
return;
}
@Pc(22) long local22 = arg0.method3158();
@Pc(22) long local22 = arg0.encode37();
@Pc(24) int local24 = 0;
if (local22 == 0L) {
return;

View file

@ -17,13 +17,13 @@ public final class Static186 {
public static final JagString aClass100_827 = Static28.parse("");
@OriginalMember(owner = "client!pa", name = "P", descriptor = "Lclient!na;")
public static JagString aClass100_828 = aClass100_827;
public static JagString password = aClass100_827;
@OriginalMember(owner = "client!pa", name = "R", descriptor = "[Z")
public static final boolean[] aBooleanArray100 = new boolean[100];
@OriginalMember(owner = "client!pa", name = "S", descriptor = "Lclient!na;")
public static JagString aClass100_829 = aClass100_827;
public static JagString username = aClass100_827;
@OriginalMember(owner = "client!pa", name = "d", descriptor = "(I)V")
public static void method3413() {

View file

@ -290,7 +290,7 @@ public final class Static2 {
arg0.modelXAngle = 150;
arg0.modelYAngle = (int) (Math.sin((double) Static83.anInt372 / 40.0D) * 256.0D) & 0x7FF;
arg0.modelType = 5;
arg0.modelId = ((int) Static173.self.aClass100_364.method3158() << 11) + 2047;
arg0.modelId = ((int) Static173.self.aClass100_364.encode37() << 11) + 2047;
arg0.anInt496 = Static173.self.anInt3388;
arg0.anInt500 = 0;
arg0.anInt522 = Static173.self.anInt3366;

View file

@ -27,7 +27,7 @@ public final class Static214 {
@OriginalMember(owner = "client!rg", name = "a", descriptor = "(Lclient!e;I)V")
public static void method4359(@OriginalArg(0) Player arg0) {
@Pc(12) AreaSound local12 = (AreaSound) Static93.aClass133_7.method3863(arg0.aClass100_364.method3158());
@Pc(12) AreaSound local12 = (AreaSound) Static93.aClass133_7.method3863(arg0.aClass100_364.encode37());
if (local12 == null) {
Static122.method2411(arg0.movementQueueZ[0], null, 0, null, arg0.movementQueueX[0], Static55.level, arg0);
} else {

View file

@ -53,7 +53,7 @@ public final class Static216 {
}
Static124.socket = new BufferedSocket((Socket) Static72.aClass212_3.result, Static71.signLink);
Static72.aClass212_3 = null;
@Pc(106) long local106 = Static101.aLong98 = Static186.aClass100_829.method3158();
@Pc(106) long local106 = Static101.aLong98 = Static186.username.encode37();
Static6.outboundBuffer.offset = 0;
Static6.outboundBuffer.p1(14);
@Pc(120) int local120 = (int) (local106 >> 16 & 0x1FL);
@ -99,16 +99,26 @@ public final class Static216 {
Static6.outboundBuffer.p4(local210[1]);
Static6.outboundBuffer.p4(local210[2]);
Static6.outboundBuffer.p4(local210[3]);
Static6.outboundBuffer.p8(Static186.aClass100_829.method3158());
Static6.outboundBuffer.pjstr(Static186.aClass100_828);
Static6.outboundBuffer.encryptRsa(Static86.aBigInteger1, Static256.aBigInteger2);
Static6.outboundBuffer.p8(Static186.username.encode37());
Static6.outboundBuffer.pjstr(Static186.password);
if (GlobalConfig.LOGIN_EXTRA_INFO) {
Static6.outboundBuffer.pjstr(Static28.parse(""));
Static6.outboundBuffer.pjstr(Static28.parse(""));
Static6.outboundBuffer.pjstr(Static28.parse(""));
}
Static6.outboundBuffer.encryptRsa(GlobalConfig.RSA_EXPONENT, GlobalConfig.RSA_MODULUS);
Static17.aClass3_Sub15_Sub1_2.offset = 0;
if (Static244.anInt5370 == 40) {
Static17.aClass3_Sub15_Sub1_2.p1(18);
} else {
Static17.aClass3_Sub15_Sub1_2.p1(16);
}
Static17.aClass3_Sub15_Sub1_2.p2(Static6.outboundBuffer.offset + Static229.method3937(Static47.aClass100_991) + 159);
int offset = 0;
if (GlobalConfig.LOGIN_FAKE_IDX28) {
// pretend that we're loading the archive so we don't throw the packet size off
offset = 4;
}
Static17.aClass3_Sub15_Sub1_2.p2(Static6.outboundBuffer.offset + Static229.method3937(Static47.aClass100_991) + (159 + offset));
Static17.aClass3_Sub15_Sub1_2.p4(530);
Static17.aClass3_Sub15_Sub1_2.p1(Static5.anInt39);
Static17.aClass3_Sub15_Sub1_2.p1(Static249.aBoolean282 ? 1 : 0);
@ -151,6 +161,9 @@ public final class Static216 {
Static17.aClass3_Sub15_Sub1_2.p4(Static28.aClass153_18.method4480());
Static17.aClass3_Sub15_Sub1_2.p4(Static167.aClass153_63.method4480());
Static17.aClass3_Sub15_Sub1_2.p4(Static226.aClass153_93.method4480());
if (GlobalConfig.LOGIN_FAKE_IDX28) {
Static17.aClass3_Sub15_Sub1_2.p4(0);
}
Static17.aClass3_Sub15_Sub1_2.pBytes(Static6.outboundBuffer.data, Static6.outboundBuffer.offset);
Static124.socket.write(Static17.aClass3_Sub15_Sub1_2.data, Static17.aClass3_Sub15_Sub1_2.offset);
Static6.outboundBuffer.method2240(local210);

View file

@ -79,10 +79,10 @@ public final class Static225 {
@OriginalMember(owner = "client!se", name = "a", descriptor = "(Lclient!na;Lclient!na;IB)V")
public static void method3896(@OriginalArg(0) JagString arg0, @OriginalArg(1) JagString arg1, @OriginalArg(2) int arg2) {
Static186.aClass100_828 = arg1;
Static186.password = arg1;
Static5.anInt39 = arg2;
Static186.aClass100_829 = arg0;
if (Static186.aClass100_829.method3108(Static186.aClass100_827) || Static186.aClass100_828.method3108(Static186.aClass100_827)) {
Static186.username = arg0;
if (Static186.username.method3108(Static186.aClass100_827) || Static186.password.method3108(Static186.aClass100_827)) {
Static266.anInt5336 = 3;
} else if (Static125.worldId == -1) {
Static20.anInt673 = 0;
@ -93,11 +93,11 @@ public final class Static225 {
local43.p1(10);
local43.p2((int) (Math.random() * 99999.0D));
local43.p2(530);
local43.p8(Static186.aClass100_829.method3158());
local43.p8(Static186.username.encode37());
local43.p4((int) (Math.random() * 9.9999999E7D));
local43.pjstr(Static186.aClass100_828);
local43.pjstr(Static186.password);
local43.p4((int) (Math.random() * 9.9999999E7D));
local43.encryptRsa(Static86.aBigInteger1, Static256.aBigInteger2);
local43.encryptRsa(GlobalConfig.RSA_EXPONENT, GlobalConfig.RSA_MODULUS);
Static6.outboundBuffer.offset = 0;
Static6.outboundBuffer.p1(210);
Static6.outboundBuffer.p1(local43.offset);

View file

@ -1,4 +1,3 @@
import java.math.BigInteger;
import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember;
import org.openrs2.deob.annotation.Pc;
@ -8,9 +7,6 @@ public final class Static256 {
@OriginalMember(owner = "client!um", name = "U", descriptor = "Lclient!dd;")
public static SoftwareFont aClass3_Sub2_Sub9_Sub1_1;
@OriginalMember(owner = "client!um", name = "V", descriptor = "Ljava/math/BigInteger;")
public static final BigInteger aBigInteger2 = new BigInteger("7162900525229798032761816791230527296329313291232324290237849263501208207972894053929065636522363163621000728841182238772712427862772219676577293600221789");
@OriginalMember(owner = "client!um", name = "a", descriptor = "(Z)V")
public static void method4392() {
Static11.anInt384 = 0;

View file

@ -18,7 +18,7 @@ public final class Static271 {
@OriginalMember(owner = "client!wc", name = "a", descriptor = "(Lclient!e;I)V")
public static void method4597(@OriginalArg(0) Player arg0) {
@Pc(10) AreaSound local10 = (AreaSound) Static93.aClass133_7.method3863(arg0.aClass100_364.method3158());
@Pc(10) AreaSound local10 = (AreaSound) Static93.aClass133_7.method3863(arg0.aClass100_364.encode37());
if (local10 == null) {
return;
}

View file

@ -145,7 +145,7 @@ public final class Static4 {
@Pc(245) JagString local245 = Static57.aClass3_Sub15_Sub1_3.gjstr();
if (local245.method3130(Static196.aClass100_863)) {
local156 = local245.substring(local245.indexOf(Static264.aClass100_875), 0);
local275 = local156.method3158();
local275 = local156.encode37();
local262 = false;
for (local277 = 0; local277 < Static35.anInt1093; local277++) {
if (Static190.aLongArray6[local277] == local275) {
@ -158,7 +158,7 @@ public final class Static4 {
}
} else if (local245.method3130(Static61.aClass100_423)) {
local156 = local245.substring(local245.indexOf(Static264.aClass100_875), 0);
local275 = local156.method3158();
local275 = local156.encode37();
local262 = false;
for (local277 = 0; local277 < Static35.anInt1093; local277++) {
if (Static190.aLongArray6[local277] == local275) {
@ -173,7 +173,7 @@ public final class Static4 {
} else if (local245.method3130(Static191.aClass100_845)) {
local262 = false;
local156 = local245.substring(local245.indexOf(Static264.aClass100_875), 0);
local275 = local156.method3158();
local275 = local156.encode37();
for (local277 = 0; local277 < Static35.anInt1093; local277++) {
if (local275 == Static190.aLongArray6[local277]) {
local262 = true;
@ -199,7 +199,7 @@ public final class Static4 {
} else if (local245.method3130(Static56.aClass100_379)) {
local262 = false;
local156 = local245.substring(local245.indexOf(Static264.aClass100_875), 0);
local275 = local156.method3158();
local275 = local156.encode37();
for (local277 = 0; local277 < Static35.anInt1093; local277++) {
if (local275 == Static190.aLongArray6[local277]) {
local262 = true;
@ -212,7 +212,7 @@ public final class Static4 {
} else if (local245.method3130(Static112.aClass100_574)) {
local156 = local245.substring(local245.indexOf(Static264.aClass100_875), 0);
local262 = false;
local275 = local156.method3158();
local275 = local156.encode37();
for (local277 = 0; local277 < Static35.anInt1093; local277++) {
if (Static190.aLongArray6[local277] == local275) {
local262 = true;
@ -224,7 +224,7 @@ public final class Static4 {
}
} else if (local245.method3130(Static217.aClass100_916)) {
local156 = local245.substring(local245.indexOf(Static264.aClass100_875), 0);
local275 = local156.method3158();
local275 = local156.encode37();
local262 = false;
for (local277 = 0; local277 < Static35.anInt1093; local277++) {
if (local275 == Static190.aLongArray6[local277]) {
@ -238,7 +238,7 @@ public final class Static4 {
} else if (local245.method3130(Static164.aClass100_770)) {
local156 = local245.substring(local245.indexOf(Static264.aClass100_875), 0);
local262 = false;
local275 = local156.method3158();
local275 = local156.encode37();
for (local277 = 0; local277 < Static35.anInt1093; local277++) {
if (Static190.aLongArray6[local277] == local275) {
local262 = true;
@ -331,11 +331,11 @@ public final class Static4 {
Static251.anInt5447 = (Static251.anInt5447 + 1) % 100;
@Pc(999) JagString local999 = Static230.method3953(local916).method770(Static57.aClass3_Sub15_Sub1_3);
if (local908 == 2 || local908 == 3) {
Static154.method2928(local916, 20, local999, Static79.method1702(local275).method3125(), Static34.method882(new JagString[] { Static44.aClass100_336, Static79.method1702(local884).method3125() }));
Static154.method2928(local916, 20, local999, Static79.decode37(local275).method3125(), Static34.method882(new JagString[] { Static44.aClass100_336, Static79.decode37(local884).method3125() }));
} else if (local908 == 1) {
Static154.method2928(local916, 20, local999, Static79.method1702(local275).method3125(), Static34.method882(new JagString[] { Static65.aClass100_435, Static79.method1702(local884).method3125() }));
Static154.method2928(local916, 20, local999, Static79.decode37(local275).method3125(), Static34.method882(new JagString[] { Static65.aClass100_435, Static79.decode37(local884).method3125() }));
} else {
Static154.method2928(local916, 20, local999, Static79.method1702(local275).method3125(), Static79.method1702(local884).method3125());
Static154.method2928(local916, 20, local999, Static79.decode37(local275).method3125(), Static79.decode37(local884).method3125());
}
}
Static164.anInt3985 = -1;
@ -356,8 +356,8 @@ public final class Static4 {
return true;
}
local275 = Static57.aClass3_Sub15_Sub1_3.g8();
Static15.aClass100_87 = Static79.method1702(local275);
Static270.aClass100_1094 = Static79.method1702(local884);
Static15.aClass100_87 = Static79.decode37(local275);
Static270.aClass100_1094 = Static79.decode37(local884);
Static50.aByte6 = Static57.aClass3_Sub15_Sub1_3.g1s();
local1146 = Static57.aClass3_Sub15_Sub1_3.g1();
if (local1146 == 255) {
@ -369,7 +369,7 @@ public final class Static4 {
for (local1160 = 0; local1160 < Static214.anInt5577; local1160++) {
local1158[local1160] = new Class3_Sub22();
local1158[local1160].aLong192 = Static57.aClass3_Sub15_Sub1_3.g8();
local1158[local1160].aClass100_636 = Static79.method1702(local1158[local1160].aLong192);
local1158[local1160].aClass100_636 = Static79.decode37(local1158[local1160].aLong192);
local1158[local1160].anInt3340 = Static57.aClass3_Sub15_Sub1_3.g2();
local1158[local1160].aByte9 = Static57.aClass3_Sub15_Sub1_3.g1s();
local1158[local1160].aClass100_635 = Static57.aClass3_Sub15_Sub1_3.gjstr();
@ -486,7 +486,7 @@ public final class Static4 {
local884 = Static57.aClass3_Sub15_Sub1_3.g8();
local864 = Static57.aClass3_Sub15_Sub1_3.g2();
local1409 = Static230.method3953(local864).method770(Static57.aClass3_Sub15_Sub1_3);
Static154.method2928(local864, 19, local1409, null, Static79.method1702(local884).method3125());
Static154.method2928(local864, 19, local1409, null, Static79.decode37(local884).method3125());
Static164.anInt3985 = -1;
return true;
} else if (Static164.anInt3985 == 169) {
@ -787,7 +787,7 @@ public final class Static4 {
if (local864 > 0) {
local506 = Static57.aClass3_Sub15_Sub1_3.gjstr();
}
@Pc(2834) JagString local2834 = Static79.method1702(local884).method3125();
@Pc(2834) JagString local2834 = Static79.decode37(local884).method3125();
for (local1986 = 0; local1986 < Static9.anInt178; local1986++) {
if (local884 == Static92.aLongArray3[local1986]) {
if (local864 != Static104.anIntArray255[local1986]) {
@ -912,11 +912,11 @@ public final class Static4 {
Static251.anInt5447 = (Static251.anInt5447 + 1) % 100;
local3020 = Static230.method3953(local1986).method770(Static57.aClass3_Sub15_Sub1_3);
if (local1160 == 2) {
Static154.method2928(local1986, 18, local3020, null, Static34.method882(new JagString[] { Static44.aClass100_336, Static79.method1702(local884).method3125() }));
Static154.method2928(local1986, 18, local3020, null, Static34.method882(new JagString[] { Static44.aClass100_336, Static79.decode37(local884).method3125() }));
} else if (local1160 == 1) {
Static154.method2928(local1986, 18, local3020, null, Static34.method882(new JagString[] { Static65.aClass100_435, Static79.method1702(local884).method3125() }));
Static154.method2928(local1986, 18, local3020, null, Static34.method882(new JagString[] { Static65.aClass100_435, Static79.decode37(local884).method3125() }));
} else {
Static154.method2928(local1986, 18, local3020, null, Static79.method1702(local884).method3125());
Static154.method2928(local1986, 18, local3020, null, Static79.decode37(local884).method3125());
}
}
Static164.anInt3985 = -1;
@ -1032,7 +1032,7 @@ public final class Static4 {
} else if (Static164.anInt3985 == 71) {
local884 = Static57.aClass3_Sub15_Sub1_3.g8();
local790 = Static218.method2862(Static65.method1497(Static57.aClass3_Sub15_Sub1_3).method3116());
Static103.method2231(Static79.method1702(local884).method3125(), 6, local790);
Static103.method2231(Static79.decode37(local884).method3125(), 6, local790);
Static164.anInt3985 = -1;
return true;
} else if (Static164.anInt3985 == 42) {
@ -1143,7 +1143,7 @@ public final class Static4 {
Static35.anInt1093 = Static223.anInt5028 / 8;
for (local133 = 0; local133 < Static35.anInt1093; local133++) {
Static190.aLongArray6[local133] = Static57.aClass3_Sub15_Sub1_3.g8();
Static193.aClass100Array134[local133] = Static79.method1702(Static190.aLongArray6[local133]);
Static193.aClass100Array134[local133] = Static79.decode37(Static190.aLongArray6[local133]);
}
Static185.anInt4369 = Static119.transmitTimer;
Static164.anInt3985 = -1;
@ -1215,11 +1215,11 @@ public final class Static4 {
Static251.anInt5447 = (Static251.anInt5447 + 1) % 100;
@Pc(4518) JagString local4518 = Static218.method2862(Static65.method1497(Static57.aClass3_Sub15_Sub1_3).method3116());
if (local1160 == 2 || local1160 == 3) {
Static103.method2231(Static34.method882(new JagString[] { Static44.aClass100_336, Static79.method1702(local884).method3125() }), 7, local4518);
Static103.method2231(Static34.method882(new JagString[] { Static44.aClass100_336, Static79.decode37(local884).method3125() }), 7, local4518);
} else if (local1160 == 1) {
Static103.method2231(Static34.method882(new JagString[] { Static65.aClass100_435, Static79.method1702(local884).method3125() }), 7, local4518);
Static103.method2231(Static34.method882(new JagString[] { Static65.aClass100_435, Static79.decode37(local884).method3125() }), 7, local4518);
} else {
Static103.method2231(Static79.method1702(local884).method3125(), 3, local4518);
Static103.method2231(Static79.decode37(local884).method3125(), 3, local4518);
}
}
Static164.anInt3985 = -1;
@ -1261,11 +1261,11 @@ public final class Static4 {
Static251.anInt5447 = (Static251.anInt5447 + 1) % 100;
local3038 = Static218.method2862(Static65.method1497(Static57.aClass3_Sub15_Sub1_3).method3116());
if (local908 == 2 || local908 == 3) {
Static73.method1598(local3038, Static34.method882(new JagString[] { Static44.aClass100_336, Static79.method1702(local884).method3125() }), Static79.method1702(local275).method3125());
Static73.method1598(local3038, Static34.method882(new JagString[] { Static44.aClass100_336, Static79.decode37(local884).method3125() }), Static79.decode37(local275).method3125());
} else if (local908 == 1) {
Static73.method1598(local3038, Static34.method882(new JagString[] { Static65.aClass100_435, Static79.method1702(local884).method3125() }), Static79.method1702(local275).method3125());
Static73.method1598(local3038, Static34.method882(new JagString[] { Static65.aClass100_435, Static79.decode37(local884).method3125() }), Static79.decode37(local275).method3125());
} else {
Static73.method1598(local3038, Static79.method1702(local884).method3125(), Static79.method1702(local275).method3125());
Static73.method1598(local3038, Static79.decode37(local884).method3125(), Static79.decode37(local275).method3125());
}
}
Static164.anInt3985 = -1;
@ -1447,7 +1447,7 @@ public final class Static4 {
local506 = Static57.aClass3_Sub15_Sub1_3.gjstr();
@Pc(5347) Class3_Sub22 local5347 = new Class3_Sub22();
local5347.aLong192 = local884;
local5347.aClass100_636 = Static79.method1702(local5347.aLong192);
local5347.aClass100_636 = Static79.decode37(local5347.aLong192);
local5347.aByte9 = local5325;
local5347.aClass100_635 = local506;
local5347.anInt3340 = local864;

View file

@ -119,14 +119,18 @@ public final class Static40 {
}
@OriginalMember(owner = "client!da", name = "a", descriptor = "(IIIILclient!na;JI)V")
public static void method1016(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) JagString arg3, @OriginalArg(5) long arg4, @OriginalArg(6) int arg5) {
@Pc(8) Buffer local8 = new Buffer(128);
public static void method1016(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) JagString password, @OriginalArg(5) long name, @OriginalArg(6) int arg5) {
@Pc(8) Buffer local8 = new Buffer(GlobalConfig.LOGIN_USE_STRINGS ? 129 : 128);
local8.p1(10);
local8.p2((int) (Math.random() * 99999.0D));
local8.p2(530);
local8.p8(arg4);
if (GlobalConfig.LOGIN_USE_STRINGS) {
local8.pjstr(Static79.decode37(name));
} else {
local8.p8(name);
}
local8.p4((int) (Math.random() * 9.9999999E7D));
local8.pjstr(arg3);
local8.pjstr(password);
local8.p4((int) (Math.random() * 9.9999999E7D));
local8.p2(Static204.anInt4760);
local8.p1(arg0);
@ -135,7 +139,7 @@ public final class Static40 {
local8.p2(arg5);
local8.p2(arg1);
local8.p4((int) (Math.random() * 9.9999999E7D));
local8.encryptRsa(Static86.aBigInteger1, Static256.aBigInteger2);
local8.encryptRsa(GlobalConfig.RSA_EXPONENT, GlobalConfig.RSA_MODULUS);
Static6.outboundBuffer.offset = 0;
Static6.outboundBuffer.p1(36);
Static6.outboundBuffer.p1(local8.offset);

View file

@ -127,7 +127,7 @@ public final class Static54 {
if (local591 != null && local591.method2682()) {
local154 = local591.anInt3421 / 32 - Static173.self.anInt3421 / 32;
local150 = local591.anInt3412 / 32 - Static173.self.anInt3412 / 32;
@Pc(624) long local624 = local591.aClass100_364.method3158();
@Pc(624) long local624 = local591.aClass100_364.encode37();
@Pc(626) boolean local626 = false;
for (local239 = 0; local239 < Static9.anInt178; local239++) {
if (local624 == Static92.aLongArray3[local239] && Static104.anIntArray255[local239] != 0) {

View file

@ -62,7 +62,7 @@ public final class Static64 {
Static103.method2231(Static186.aClass100_827, 0, LocalizedText.FRIENDLISTFULL);
return;
}
@Pc(35) JagString local35 = Static79.method1702(arg0).method3125();
@Pc(35) JagString local35 = Static79.decode37(arg0).method3125();
@Pc(42) int local42;
for (local42 = 0; local42 < Static9.anInt178; local42++) {
if (Static92.aLongArray3[local42] == arg0) {

View file

@ -34,10 +34,14 @@ public final class Static78 {
}
@OriginalMember(owner = "client!gd", name = "a", descriptor = "(JI)V")
public static void method1691(@OriginalArg(0) long arg0) {
public static void method1691(@OriginalArg(0) long name) {
Static6.outboundBuffer.offset = 0;
Static6.outboundBuffer.p1(186);
Static6.outboundBuffer.p8(arg0);
if (GlobalConfig.LOGIN_USE_STRINGS) {
Static6.outboundBuffer.pjstr(Static79.decode37(name));
} else {
Static6.outboundBuffer.p8(name);
}
Static179.anInt4261 = 1;
Static226.anInt5079 = 0;
Static57.anInt1758 = 0;

View file

@ -68,7 +68,7 @@ public final class Static79 {
}
@OriginalMember(owner = "client!ge", name = "a", descriptor = "(IJ)Lclient!na;")
public static JagString method1702(@OriginalArg(1) long arg0) {
public static JagString decode37(@OriginalArg(1) long arg0) {
if (arg0 <= 0L || arg0 >= 6582952005840035281L) {
return null;
} else if (arg0 % 37L == 0L) {

View file

@ -40,7 +40,7 @@ public final class Static84 {
local24 = Static57.aClass3_Sub15_Sub1_3.offset;
@Pc(35) boolean local35 = (local13 & 0x8000) != 0;
if (arg2.aClass100_364 != null && arg2.aClass59_1 != null) {
@Pc(48) long local48 = arg2.aClass100_364.method3158();
@Pc(48) long local48 = arg2.aClass100_364.encode37();
@Pc(50) boolean local50 = false;
if (local17 <= 1) {
if (!local35 && (Static124.aBoolean157 && !Static207.aBoolean236 || Static86.aBoolean129)) {

View file

@ -1,4 +1,3 @@
import java.math.BigInteger;
import org.openrs2.deob.annotation.OriginalMember;
import org.openrs2.deob.annotation.Pc;
@ -16,9 +15,6 @@ public final class Static86 {
@OriginalMember(owner = "client!gm", name = "W", descriptor = "Lclient!na;")
public static final JagString aClass100_488 = Static28.parse("_");
@OriginalMember(owner = "client!gm", name = "X", descriptor = "Ljava/math/BigInteger;")
public static final BigInteger aBigInteger1 = new BigInteger("58778699976184461502525193738213253649000149147835990136706041084440742975821");
@OriginalMember(owner = "client!gm", name = "bb", descriptor = "Z")
public static boolean aBoolean129 = false;

View file

@ -694,7 +694,7 @@ public final class Static87 {
}
@Pc(2751) Player local2751 = Static159.aClass8_Sub4_Sub1Array1[local514];
@Pc(2760) SeqType local2760 = local276 == -1 ? null : Static36.method941(local276);
if (local2751 != null && (int) local2751.aClass100_364.method3158() << 11 == (local30.modelId & 0xFFFFF800)) {
if (local2751 != null && (int) local2751.aClass100_364.encode37() << 11 == (local30.modelId & 0xFFFFF800)) {
local2589 = local2751.aClass59_1.method1954(null, -1, null, local2760, 0, -1, 0, local30.anInt510, 0);
}
}

View file

@ -1253,7 +1253,7 @@ public final class Static88 {
local26--;
local609 = Static3.aClass100Array176[local26];
Static6.outboundBuffer.p1isaac(244);
Static6.outboundBuffer.p8(local609.method3158());
Static6.outboundBuffer.p8(local609.encode37());
continue;
}
if (local226 == 3106) {
@ -1634,25 +1634,25 @@ public final class Static88 {
if (local226 == 3605) {
local26--;
local609 = Static3.aClass100Array176[local26];
Static64.method1496(local609.method3158());
Static64.method1496(local609.encode37());
continue;
}
if (local226 == 3606) {
local26--;
local609 = Static3.aClass100Array176[local26];
Static193.method3500(local609.method3158());
Static193.method3500(local609.encode37());
continue;
}
if (local226 == 3607) {
local26--;
local609 = Static3.aClass100Array176[local26];
Static140.method2707(local609.method3158());
Static140.method2707(local609.encode37());
continue;
}
if (local226 == 3608) {
local26--;
local609 = Static3.aClass100Array176[local26];
Static69.method1542(local609.method3158());
Static69.method1542(local609.encode37());
continue;
}
if (local226 == 3609) {
@ -1737,7 +1737,7 @@ public final class Static88 {
if (local226 == 3619) {
local26--;
local609 = Static3.aClass100Array176[local26];
Static156.method2956(local609.method3158());
Static156.method2956(local609.encode37());
continue;
}
if (local226 == 3620) {
@ -1756,7 +1756,7 @@ public final class Static88 {
local28--;
local809 = Static254.anIntArray487[local28];
if (Static166.anInt4054 != 0 && Static35.anInt1093 > local809) {
Static3.aClass100Array176[local26++] = Static79.method1702(Static190.aLongArray6[local809]).method3125();
Static3.aClass100Array176[local26++] = Static79.decode37(Static190.aLongArray6[local809]).method3125();
continue;
}
Static3.aClass100Array176[local26++] = Static72.aClass100_447;
@ -2181,7 +2181,7 @@ public final class Static88 {
local803 = Static254.anIntArray487[local28];
local1052 = Static254.anIntArray487[local28 + 1];
Static6.outboundBuffer.p1isaac(99);
Static6.outboundBuffer.p8(local609.method3158());
Static6.outboundBuffer.p8(local609.encode37());
Static6.outboundBuffer.p1(local803 - 1);
Static6.outboundBuffer.p1(local1052);
continue;
@ -2352,7 +2352,7 @@ public final class Static88 {
Static6.outboundBuffer.p1isaac(201);
Static6.outboundBuffer.p1(0);
local1052 = Static6.outboundBuffer.offset;
Static6.outboundBuffer.p8(local609.method3158());
Static6.outboundBuffer.p8(local609.encode37());
Static146.method2748(Static6.outboundBuffer, local2522);
Static6.outboundBuffer.p1len(Static6.outboundBuffer.offset - local1052);
}
@ -2396,7 +2396,7 @@ public final class Static88 {
}
if (local226 == 5015) {
if (Static173.self == null || Static173.self.aClass100_364 == null) {
local609 = Static186.aClass100_829;
local609 = Static186.username;
} else {
local609 = Static173.self.method1264();
}
@ -2504,7 +2504,7 @@ public final class Static88 {
Static6.outboundBuffer.p1isaac(178);
Static6.outboundBuffer.p1(0);
local803 = Static6.outboundBuffer.offset;
Static6.outboundBuffer.p8(local609.method3158());
Static6.outboundBuffer.p8(local609.encode37());
Static6.outboundBuffer.p2(Static122.aClass12_1.anInt439);
Static122.aClass12_1.aClass3_Sub2_Sub6_1.method760(Static6.outboundBuffer, Static122.aClass12_1.anIntArray33);
Static6.outboundBuffer.p1len(Static6.outboundBuffer.offset - local803);
@ -3151,7 +3151,7 @@ public final class Static88 {
if (local226 == 5604) {
local26--;
if (Static244.anInt5370 == 10 && Static219.anInt4937 == 0 && Static184.anInt4348 == 0 && Static179.anInt4261 == 0 && Static82.anInt2231 == 0) {
Static78.method1691(Static3.aClass100Array176[local26].method3158());
Static78.method1691(Static3.aClass100Array176[local26].encode37());
}
continue;
}
@ -3159,7 +3159,7 @@ public final class Static88 {
local28 -= 4;
local26 -= 2;
if (Static244.anInt5370 == 10 && Static219.anInt4937 == 0 && Static184.anInt4348 == 0 && Static179.anInt4261 == 0 && Static82.anInt2231 == 0) {
Static40.method1016(Static254.anIntArray487[local28], Static254.anIntArray487[local28 + 3], Static254.anIntArray487[local28 + 1], Static3.aClass100Array176[local26 + 1], Static3.aClass100Array176[local26].method3158(), Static254.anIntArray487[local28 + 2]);
Static40.method1016(Static254.anIntArray487[local28], Static254.anIntArray487[local28 + 3], Static254.anIntArray487[local28 + 1], Static3.aClass100Array176[local26 + 1], Static3.aClass100Array176[local26].encode37(), Static254.anIntArray487[local28 + 2]);
}
continue;
}

View file

@ -329,15 +329,15 @@ public final class client extends GameShell {
}
Static80.read(Static71.signLink); // preferences
if (Static83.modeWhere == 0) {
Static143.worldListHostname = this.getCodeBase().getHost();
Static143.worldListHostname = GlobalConfig.DEFAULT_HOSTNAME; // this.getCodeBase().getHost();
Static97.worldListAlternatePort = GlobalConfig.ALTERNATE_PORT + 1;
Static249.worldListDefaultPort = GlobalConfig.DEFAULT_PORT + 1;
} else if (Static83.modeWhere == 1) {
Static143.worldListHostname = this.getCodeBase().getHost();
Static143.worldListHostname = GlobalConfig.DEFAULT_HOSTNAME; // this.getCodeBase().getHost();
Static97.worldListAlternatePort = GlobalConfig.ALTERNATE_PORT + Static187.worldListId;
Static249.worldListDefaultPort = GlobalConfig.DEFAULT_PORT + Static187.worldListId;
} else if (Static83.modeWhere == 2) {
Static143.worldListHostname = "127.0.0.1";
Static143.worldListHostname = GlobalConfig.DEFAULT_HOSTNAME; // "127.0.0.1";
Static97.worldListAlternatePort = GlobalConfig.ALTERNATE_PORT + Static187.worldListId;
Static249.worldListDefaultPort = GlobalConfig.DEFAULT_PORT + Static187.worldListId;
}