• Log in or sign up for an account here: https://www.sythe.org/login

RS Private Server Loader[Work in Progress]

Status
Not open for further replies.

notoriouspp

Newcomer
Joined
Oct 9, 2013
Sythe Gold
0
Messages
8
Alright so I hope this is the right place to post this, but I want to share my current RS Private Server Loader/Client I have been working on the past few days.
It's nothing special, it is just my progress of learning how to write my own bot client such as RSBot. This does not have any injection scripts, though there is updater file started, just left empty. It is merely a loader which parses the game URL, finds the Jar, downloads it, while using my attempts to stealth the client, then stores the classes of the jar file into a separate folder(Not necessary, though it helps when debugging BCEL), then finds the client and runs it. I want to share this to help people get started writing their own bots! Because even looking through Google, there is limited information, and most of it will really only benefit people who are already familiar, not to people wanting to learn.

I must credit:
[the bank]
[yakman]
From www.moparisthebest.com, though their tuts were from 06' they still helped me.

I promise this is not a virus, its merely my project folder(About 30kb), it doesn't have a .bat or .jar so people don't get all tripped out. All you have to do is add it to a project(I'm using JavaSE-1.7 as my library), and run the boot.java as the main, and wahhlaa, it loads the game.

Once again, this is just a loader with a Menu Bar for looks, and additions later on, though the quit does work.

I hope this helps someone in their quest to writing their own bot! If anyone has any questions feel free to ask, and if someone does get a working version of a bot using this, I would love to see it! :D

[Download Link]
Removed

Please feel free to post any suggestions, I actually encourage them, because I am still learning myself, and would love to learn anywhere I can. I am no where near a final product, but I want to help others that had problems where I did when I started.

Enjoy! :)
 
Code:
package org.eclient.game.loader;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;

import org.eclient.game.loader.frame.Variables;


public class Downloader {
	
    public Downloader(URL url, String referer) throws IOException,InterruptedException {
    	//String to store split source code
    	String tags[] = null;
    	
    	//Create connection to retrieve Jar file location
		URLConnection uc = url.openConnection();
		uc.addRequestProperty("Accept","text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
		uc.addRequestProperty("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7");
		uc.addRequestProperty("Accept-Encoding", "gzip,deflate");
		uc.addRequestProperty("Accept-Language", "en-gb,en;q=0.5");
		uc.addRequestProperty("Connection", "keep-alive");
		uc.addRequestProperty("Host", "www.escaperuins.com");
		uc.addRequestProperty("Keep-Alive", "300");
			if (referer != null)
				uc.addRequestProperty("Referer", referer);
				uc.addRequestProperty("User-Agent","Mozilla/23.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.6)Gecko/20060728 Firefox/23.0.1");
				DataInputStream di = new DataInputStream(uc.getInputStream());
				byte[] buffer = new byte[uc.getContentLength()];
				di.readFully(buffer);
				di.close();
				tags = new String(buffer).split(">");
				
				Thread.sleep(250 + (int) Math.random() * 500);
				
				//Parse the URL for Jar Location  
				for (int i = 0; i < tags.length - 1; i++) {
			            String cur = tags[i].trim().substring(1);
			            if (cur.startsWith("applet")) {
			                cur = cur.substring(7);
			                while (cur.length() > 0) {
			                    int eq = cur.indexOf("=");
			                    int sp = cur.indexOf(" ");
			                    if (eq == -1 || sp == -1) break;
			                    Variables.getParameters().put(cur.substring(0, eq).trim(), cur.substring(eq + 1, sp).trim());
			                    cur = cur.substring(sp).trim();
			                }
			            } else if (cur.startsWith("param")) {
			                cur += " ";
			                String name = cur.substring(cur.indexOf("name=") + 5);
			                String value = cur.substring(cur.indexOf("value=") + 6);
			                Variables.getParameters().put(name.substring(0, name.indexOf(" ")).trim(), value.substring(0, value.indexOf(" ")).trim());
			            }
			        }
				
				//Create new connection to now download the located Jar File
				
				URLConnection nUc = new URL((Variables.getParameters().get("archive")).substring(1, Variables.getParameters().get("archive").length() - 1)).openConnection();
				nUc.addRequestProperty("Accept","text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
				nUc.addRequestProperty("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7");
				nUc.addRequestProperty("Accept-Encoding", "gzip,deflate");
				nUc.addRequestProperty("Accept-Language", "en-gb,en;q=0.5");
				nUc.addRequestProperty("Connection", "keep-alive");
				nUc.addRequestProperty("Host", "www.escaperuins.com");
				nUc.addRequestProperty("Keep-Alive", "300");
					if (referer != null)
						nUc.addRequestProperty("Referer", referer);
						nUc.addRequestProperty("User-Agent","Mozilla/23.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.6)Gecko/20060728 Firefox/23.0.1");
				
				//Finally download the jar at the given location!
				try {
					BufferedInputStream in = new BufferedInputStream(nUc.getInputStream());
					FileOutputStream fos = new FileOutputStream("Escape.jar");
					BufferedOutputStream out = new BufferedOutputStream(fos, 1024);
					byte[] data = new byte[1024];
					int x;
					while ((x = in.read(data, 0, 1024)) >= 0) {
						out.write(data, 0, x);
					}
					in.close();
					out.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
	}
  
}

Impressive first post! I instinctively store through the zip file which only had java source files.. took a quick look through them and it seems legit..and the code looks original, but I didn't compile anything and this in no way guarantees that the file is 100% safe.
 
Thank you for the reply, I have gone and completely rewokred this loader, being as I'm not switching my focus to a ASM style bot rather a BCEL like I originally intended. When I get a working loader, I will post it and still keep the original BCEL I have uploaded also, may even look a little better.
 
Status
Not open for further replies.
Runescape Gamblingrunescape gambling
Back
Top