* Rename some things to be more consistent everywhere * rs-client: refactoring * MenuAction -> MenuOpcode merge
286 lines
8.0 KiB
Java
286 lines
8.0 KiB
Java
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.OutputStreamWriter;
|
|
import java.net.URL;
|
|
import java.net.URLConnection;
|
|
import java.util.Iterator;
|
|
import java.util.Random;
|
|
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("ec")
|
|
@Implements("UserComparator10")
|
|
public class UserComparator10 extends AbstractUserComparator {
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
signature = "Lgl;"
|
|
)
|
|
@Export("musicTrack")
|
|
public static MusicTrack musicTrack;
|
|
@ObfuscatedName("q")
|
|
@Export("reversed")
|
|
final boolean reversed;
|
|
|
|
public UserComparator10(boolean var1) {
|
|
this.reversed = var1;
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljz;Ljz;I)I",
|
|
garbageValue = "1029227971"
|
|
)
|
|
@Export("compareBuddy")
|
|
int compareBuddy(Buddy var1, Buddy var2) {
|
|
if (Client.worldId == var1.world && var2.world == Client.worldId) {
|
|
return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2;
|
|
}
|
|
return this.compareUser(var1, var2);
|
|
}
|
|
|
|
public int compare(Object var1, Object var2) {
|
|
return this.compareBuddy((Buddy)var1, (Buddy)var2);
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
signature = "(S)V",
|
|
garbageValue = "8742"
|
|
)
|
|
static void method3406() {
|
|
Login.Login_username = Login.Login_username.trim();
|
|
if (Login.Login_username.length() == 0) {
|
|
class268.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address.");
|
|
return;
|
|
}
|
|
long var1;
|
|
try {
|
|
URL var3 = new URL(Language.method3666("services", false) + "m=accountappeal/login.ws");
|
|
URLConnection var4 = var3.openConnection();
|
|
var4.setRequestProperty("connection", "close");
|
|
var4.setDoInput(true);
|
|
var4.setDoOutput(true);
|
|
var4.setConnectTimeout(5000);
|
|
OutputStreamWriter var5 = new OutputStreamWriter(var4.getOutputStream());
|
|
var5.write("data1=req");
|
|
var5.flush();
|
|
InputStream var6 = var4.getInputStream();
|
|
Buffer var7 = new Buffer(new byte[1000]);
|
|
|
|
while (true) {
|
|
int var8 = var6.read(var7.array, var7.offset, 1000 - var7.offset);
|
|
if (var8 != -1) {
|
|
var7.offset += var8;
|
|
if (var7.offset >= 1000) {
|
|
var1 = 0L;
|
|
break;
|
|
}
|
|
} else {
|
|
var7.offset = 0;
|
|
long var22 = var7.readLong();
|
|
var1 = var22;
|
|
break;
|
|
}
|
|
|
|
}
|
|
} catch (Exception var34) {
|
|
var1 = 0L;
|
|
}
|
|
|
|
byte var0;
|
|
if (0L == var1) {
|
|
var0 = 5;
|
|
} else {
|
|
String var35 = Login.Login_username;
|
|
Random var36 = new Random();
|
|
Buffer var26 = new Buffer(128);
|
|
Buffer var9 = new Buffer(128);
|
|
int[] var10 = new int[]{var36.nextInt(), var36.nextInt(), (int)(var1 >> 32), (int)var1};
|
|
var26.writeByte(10);
|
|
|
|
int var11;
|
|
for (var11 = 0; var11 < 4; ++var11) {
|
|
var26.writeInt(var36.nextInt());
|
|
}
|
|
|
|
var26.writeInt(var10[0]);
|
|
var26.writeInt(var10[1]);
|
|
var26.writeLong(var1);
|
|
var26.writeLong(0L);
|
|
|
|
for (var11 = 0; var11 < 4; ++var11) {
|
|
var26.writeInt(var36.nextInt());
|
|
}
|
|
|
|
var26.encryptRsa(class80.field1140, class80.field1141);
|
|
var9.writeByte(10);
|
|
|
|
for (var11 = 0; var11 < 3; ++var11) {
|
|
var9.writeInt(var36.nextInt());
|
|
}
|
|
|
|
var9.writeLong(var36.nextLong());
|
|
var9.writeLongMedium(var36.nextLong());
|
|
if (Client.randomDatData != null) {
|
|
var9.writeBytes(Client.randomDatData, 0, Client.randomDatData.length);
|
|
} else {
|
|
byte[] var12 = new byte[24];
|
|
|
|
try {
|
|
JagexCache.JagexCache_randomDat.seek(0L);
|
|
JagexCache.JagexCache_randomDat.readFully(var12);
|
|
|
|
int var13;
|
|
for (var13 = 0; var13 < 24 && var12[var13] == 0; ++var13) {
|
|
}
|
|
|
|
if (var13 >= 24) {
|
|
throw new IOException();
|
|
}
|
|
} catch (Exception var33) {
|
|
for (int var14 = 0; var14 < 24; ++var14) {
|
|
var12[var14] = -1;
|
|
}
|
|
}
|
|
|
|
var9.writeBytes(var12, 0, var12.length);
|
|
}
|
|
|
|
var9.writeLong(var36.nextLong());
|
|
var9.encryptRsa(class80.field1140, class80.field1141);
|
|
var11 = Huffman.stringCp1252NullTerminatedByteSize(var35);
|
|
if (var11 % 8 != 0) {
|
|
var11 += 8 - var11 % 8;
|
|
}
|
|
|
|
Buffer var37 = new Buffer(var11);
|
|
var37.writeStringCp1252NullTerminated(var35);
|
|
var37.offset = var11;
|
|
var37.xteaEncryptAll(var10);
|
|
Buffer var27 = new Buffer(var9.offset + var26.offset + var37.offset + 5);
|
|
var27.writeByte(2);
|
|
var27.writeByte(var26.offset);
|
|
var27.writeBytes(var26.array, 0, var26.offset);
|
|
var27.writeByte(var9.offset);
|
|
var27.writeBytes(var9.array, 0, var9.offset);
|
|
var27.writeShort(var37.offset);
|
|
var27.writeBytes(var37.array, 0, var37.offset);
|
|
byte[] var15 = var27.array;
|
|
String var29 = Widget.method4092(var15, 0, var15.length);
|
|
String var16 = var29;
|
|
|
|
byte var30;
|
|
try {
|
|
URL var17 = new URL(Language.method3666("services", false) + "m=accountappeal/login.ws");
|
|
URLConnection var18 = var17.openConnection();
|
|
var18.setDoInput(true);
|
|
var18.setDoOutput(true);
|
|
var18.setConnectTimeout(5000);
|
|
OutputStreamWriter var19 = new OutputStreamWriter(var18.getOutputStream());
|
|
var19.write("data2=" + GrandExchangeOfferWorldComparator.method63(var16) + "&dest=" + GrandExchangeOfferWorldComparator.method63("passwordchoice.ws"));
|
|
var19.flush();
|
|
InputStream var20 = var18.getInputStream();
|
|
var27 = new Buffer(new byte[1000]);
|
|
|
|
while (true) {
|
|
int var21 = var20.read(var27.array, var27.offset, 1000 - var27.offset);
|
|
if (var21 == -1) {
|
|
var19.close();
|
|
var20.close();
|
|
String var31 = new String(var27.array);
|
|
if (var31.startsWith("OFFLINE")) {
|
|
var30 = 4;
|
|
} else if (var31.startsWith("WRONG")) {
|
|
var30 = 7;
|
|
} else if (var31.startsWith("RELOAD")) {
|
|
var30 = 3;
|
|
} else if (var31.startsWith("Not permitted for social network accounts.")) {
|
|
var30 = 6;
|
|
} else {
|
|
var27.xteaDecryptAll(var10);
|
|
|
|
while (var27.offset > 0 && var27.array[var27.offset - 1] == 0) {
|
|
--var27.offset;
|
|
}
|
|
|
|
var31 = new String(var27.array, 0, var27.offset);
|
|
if (HealthBarUpdate.isValidURL(var31)) {
|
|
GrandExchangeOfferWorldComparator.openURL(var31, true, false);
|
|
var30 = 2;
|
|
} else {
|
|
var30 = 5;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
|
|
var27.offset += var21;
|
|
if (var27.offset >= 1000) {
|
|
var30 = 5;
|
|
break;
|
|
}
|
|
}
|
|
} catch (Throwable var32) {
|
|
var32.printStackTrace();
|
|
var30 = 5;
|
|
}
|
|
|
|
var0 = var30;
|
|
}
|
|
|
|
switch(var0) {
|
|
case 2:
|
|
class268.setLoginResponseString(Strings.field2942, Strings.field3027, Strings.field2768);
|
|
Login.loginIndex = 6;
|
|
break;
|
|
case 3:
|
|
class268.setLoginResponseString("", "Error connecting to server.", "");
|
|
break;
|
|
case 4:
|
|
class268.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later.");
|
|
break;
|
|
case 5:
|
|
class268.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later.");
|
|
break;
|
|
case 6:
|
|
class268.setLoginResponseString("", "Error connecting to server.", "");
|
|
break;
|
|
case 7:
|
|
class268.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username.");
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("b")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "-1807078732"
|
|
)
|
|
@Export("Messages_invalidateIgnoreds")
|
|
static void Messages_invalidateIgnoreds() {
|
|
Iterator var0 = Messages.Messages_hashTable.iterator();
|
|
|
|
while (var0.hasNext()) {
|
|
Message var1 = (Message)var0.next();
|
|
var1.clearIsFromIgnored();
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("kj")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lhj;IS)Ljava/lang/String;",
|
|
garbageValue = "255"
|
|
)
|
|
static String method3407(Widget var0, int var1) {
|
|
int var3 = class268.getWidgetClickMask(var0);
|
|
boolean var2 = (var3 >> var1 + 1 & 1) != 0;
|
|
if (!var2 && var0.onOp == null) {
|
|
return null;
|
|
}
|
|
return var0.actions != null && var0.actions.length > var1 && var0.actions[var1] != null && var0.actions[var1].trim().length() != 0 ? var0.actions[var1] : null;
|
|
}
|
|
}
|