diff --git a/params.txt b/params.txt new file mode 100644 index 0000000000..52946cacb7 --- /dev/null +++ b/params.txt @@ -0,0 +1,24 @@ +Created at Thu Jun 13 05:48:12 CDT 2019 + +codebase=http://oldschool7.runescape.com/ +mainclass=client.class + +param=1=1 +param=2=https://payments.jagex.com/operator/v1/ +param=3=true +param=4=7505 +param=5=1 +param=6=0 +param=7=0 +param=8=true +param=9=ElZAIrq5NpKN6D3mDdihco3oPeYN2KFy2DCquj7JMmECPmLrDP3Bnw +param=10=5 +param=11=https://auth.jagex.com/ +param=12=307 +param=13=.runescape.com +param=14=0 +param=15=0 +param=16=false +param=17=http://www.runescape.com/g=oldscape/slr.ws?order=LPWM +param=18= +param=19=196515767263-1oo20deqm6edn7ujlihl6rpadk9drhva.apps.googleusercontent.com diff --git a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java index c13c821178..17a927f789 100644 --- a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java +++ b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java @@ -188,7 +188,7 @@ public class ClientLoader Class clientClass = rsClassLoader.loadClass(initialClass); Applet rs = (Applet) clientClass.newInstance(); - rs.setStub(new RSAppletStub(config)); + rs.setStub(new Launcher()); if (rs instanceof Client) { diff --git a/runelite-client/src/main/java/net/runelite/client/rs/Launcher.java b/runelite-client/src/main/java/net/runelite/client/rs/Launcher.java new file mode 100644 index 0000000000..0cd80c2a20 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/rs/Launcher.java @@ -0,0 +1,128 @@ +package net.runelite.client.rs; + +import javax.swing.*; +import java.applet.AppletContext; +import java.applet.AppletStub; +import java.awt.*; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; +import java.util.logging.Logger; + +public class Launcher implements AppletStub { + + public static final Logger logger = Logger.getLogger(Launcher.class.getSimpleName()); + + private static final HashMap params = new HashMap(); + private static final HashMap cfg = new HashMap(); + + static { + cfg.put("privacyurl", "http://www.jagex.com/g=oldscape/privacy/privacy.ws"); + cfg.put("window_preferredheight", "600"); + cfg.put("msg", "new_version_link=http://oldschool.runescape.com/"); + cfg.put("applet_minwidth", "765"); + cfg.put("adverturl", "http://www.runescape.com/g=oldscape/bare_advert.ws"); + cfg.put("cachedir", "oldschool"); + cfg.put("window_preferredwidth", "800"); + cfg.put("applet_maxheight", "2160"); + cfg.put("win_sub_version", "1"); + cfg.put("browsercontrol_win_x86_jar", "browsercontrol_0_-1928975093.jar"); + cfg.put("other_sub_version", "2"); + cfg.put("initial_jar", "gamepack_4840368.jar"); + cfg.put("advert_height", "96"); + cfg.put("title", "Old School RuneScape"); + cfg.put("storebase", "0"); + cfg.put("initial_class", "client.class"); + cfg.put("applet_maxwidth", "5760"); + cfg.put("download", "1230228"); + cfg.put("termsurl", "http://www.jagex.com/g=oldscape/terms/terms.ws"); + cfg.put("codebase", "http://oldschool1.runescape.com/"); + cfg.put("mac_sub_version", "2"); + cfg.put("browsercontrol_win_amd64_jar", "browsercontrol_1_1674545273.jar"); + cfg.put("applet_minheight", "503"); + cfg.put("viewerversion", "124"); + } + + public Launcher() { + try + { + parseParams(new FileInputStream(new File("./params.txt"))); + String worldListKey = null; + for (Map.Entry paramEntry : params.entrySet()) { + String key = paramEntry.getKey(); + String value = paramEntry.getValue(); + if (value.contains("slr.ws")) { + worldListKey = key; + break; + } + } + codebase = new URL("http://127.0.0.1"); + params.put(worldListKey, "http://" + codebase.getHost()); + } + catch (IOException e) + { + e.printStackTrace(); + } + } + + private static URL codebase; + + private static void parseParams(InputStream stream) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(stream)); + String line; + while ((line = br.readLine()) != null) { + int idx = line.indexOf('='); + if (idx != -1) { + String key = line.substring(0, idx); + String val = line.substring(idx + 1); + if (key.equals("param")) { + idx = val.indexOf('='); + key = val.substring(0, idx); + val = val.substring(idx + 1); + params.put(key, val); + } else { + cfg.put(key, val); + } + } + } + } + + @Override + public boolean isActive() { + return false; + } + + @Override + public URL getDocumentBase() { + return codebase; + } + + @Override + public URL getCodeBase() { + return codebase; + } + + @Override + public String getParameter(String name) { + return params.get(name); + } + + @Override + public AppletContext getAppletContext() { + return null; + } + + @Override + public void appletResize(int width, int height) { + } + + public static void log(String format, Object... params) { + System.out.printf(format + "\n", params); + } +} diff --git a/runescape-client/src/main/java/class83.java b/runescape-client/src/main/java/class83.java index 21b18571bd..0672aea3fe 100644 --- a/runescape-client/src/main/java/class83.java +++ b/runescape-client/src/main/java/class83.java @@ -23,7 +23,7 @@ public class class83 { static { __cm_m = new BigInteger("10001", 16); - __cm_f = new BigInteger("83ff79a3e258b99ead1a70e1049883e78e513c4cdec538d8da9483879a9f81689c0c7d146d7b82b52d05cf26132b1cda5930eeef894e4ccf3d41eebc3aabe54598c4ca48eb5a31d736bfeea17875a35558b9e3fcd4aebe2a9cc970312a477771b36e173dc2ece6001ab895c553e2770de40073ea278026f36961c94428d8d7db", 16); + __cm_f = new BigInteger("a181e4c9b7c4ae27afa67c87f25364d4edaaca3c4469db685caeb364d37584dadb6c61e33782065de4e6895674c56f0facf0672cab09e95c02c2862a7501ba4f2ac713a3153c137f4c69f0a3c2fc674fa5f43dfa956f2ab98d300c9af3c98fba50a132170a7623fbb29b6fc48710e2f7e1abaf23b3eb3f825cb6fef68e63b934d4c4bf0f3a6a7fdde7716a67944a11df711adc5994597ca1e0603fac548300b8a060b37ebec3a711ce9e112bfa70dd01eadbee6b787daffe299ad501b6ef9937deefe969882c7c20bee7b3a956c9e921a1a7539ac501d86576b1ceea6a07b9f0c7e31fce121008821aa6b752cac49f20c42c2c4e84caf93165af6d2b32211257", 16); } @ObfuscatedName("m")