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

Editing Java coding (possible to hack the game)

Status
Not open for further replies.
Actually, I did know someone who messed with the java code enough to change how he hit ingame. That is, the damage he did with say a whip.
It wasn't allot, but he was able to manipulate enough to hit his max hit 5 times in a row or so.

I'm not entirely sure how it works, nor would I know how to do it myself. But I've seen some strange things happen.

Now please note, I'm not talking about hacking or duping, I'm talking about manipulating enough to change your input, or how the game registers seemingly random things like how much you hit.

It IS possible to manipulate slightly, but I laugh at the idea of beeing able to dupe. Runescape is completely server sided, unless you hack that server, the best you can do is manipulate things that aren't completely pre-set.
 
as people said before u cant do much with java but with packets u can change almost eveything. java changes only the appearance nothing else but packets have all the info. But the thing is that its not easy to understand so we cant really do much except go for trying to change items and item amounts and make fake appeared items which do not exist. it would be possible to change the stats with a packet but its really hard since u have to keep it very low changes because then ur acc can be banned...and the stat change can be done with changing the xp that goes to their server in the packet to something else. i guess even if we figure out a way to do all this, we r going to keep it very low since they can always change their way of doing things. wow i wrote a long post :) don't flame....
u dont really get many chances to do this right since if u mess up u get banned...
 
Ill help, I got 3 comps about to be 4 if that helps, we could do a firestorm on jagex
 
This WHOLE thread is a joke.

how many times have people fucked with jagex using these methods? remember humans cant make anything perfect which means it will always have a hole in it somewhere. its been done before and will be done again...
 
By saying that it's done before, are you talking about the fally massacre? Did that guy actually hack runescape? Or, as Jagex has tried to cover it up, did he just get lucky?
 
By saying that it's done before, are you talking about the fally massacre? Did that guy actually hack runescape? Or, as Jagex has tried to cover it up, did he just get lucky?

that was a house glitch, lot of people knew it but durial took it all the way. i would go to world 2 but... by that i mean that item dupes have been made before using this methods until jagex made their packets more complex
 
You know how each world has it's own address, (they have some how figured out how to make the address display as www.runescape.com when it is not actually that) does anybody know the link for w3 or w1?
 
Tier 1 Prizebox
Actually, I did know someone who messed with the java code enough to change how he hit ingame. That is, the damage he did with say a whip.
It wasn't allot, but he was able to manipulate enough to hit his max hit 5 times in a row or so.

I'm not entirely sure how it works, nor would I know how to do it myself. But I've seen some strange things happen.

Now please note, I'm not talking about hacking or duping, I'm talking about manipulating enough to change your input, or how the game registers seemingly random things like how much you hit.

It IS possible to manipulate slightly, but I laugh at the idea of beeing able to dupe. Runescape is completely server sided, unless you hack that server, the best you can do is manipulate things that aren't completely pre-set.




haha lol it would be cool if i could max hit 5 times :O 35-35 4 times with dds rofl no one will survive
 
someones post at a diffirent website. i dont know crap about java so this could be completely fake.


--------------------------------------------------------------------------


It all started when i first read about somebody putting cheats into a private server client, and thats when i decided i would set out to put a hack into a runescape client. I eventually found a runescape.jar file, decompiled it, then de-obfuscated it. Heres what i found:

Code:
/* Class72 - Decompiled by JODE
* Visit http://jode.sourceforge.net/
*/
import java.applet.Applet;
import java.awt.EventQueue;
import java.awt.Toolkit;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.lang.reflect.Method;
import java.net.InetAddress;
import java.net.Socket;
import java.net.URL;
import java.util.Random;

public class Class72 implements Runnable
{
public File aFile1527;
public boolean aBoolean1528;
public static Method aMethod1529;
public Thread aThread1530;
public Class6 aClass6_1531 = null;
public static String aString1532;
public Class6 aClass6_1533;
public Class18 aClass18_1534;
public File aFile1535;
public Applet anApplet1536;
public static int anInt1537 = 3;
public static Method aMethod1538;
public int anInt1539;
public Class18[] aClass18Array1540;
public static String aString1541;
public static String aString1542;
public Interface3 anInterface3_1543;
public EventQueue anEventQueue1544;
public Class18 aClass18_1545;

public void method1141(int i) {
synchronized (this) {
aBoolean1528 = true;
this.notifyAll();
}
try {
aThread1530.join();
if (i != 0)
method1144(-96, null, null);
} catch (InterruptedException interruptedexception) {
/* empty */
}
if (aClass18_1545 != null) {
try {
aClass18_1545.method161(-113);
} catch (java.io.IOException ioexception) {
/* empty */
}
}
if (aClass18_1534 != null) {
try {
aClass18_1534.method161(22);
} catch (java.io.IOException ioexception) {
/* empty */
}
}
if (aClass18Array1540 != null) {
for (int i_0_ = 0;
(aClass18Array1540.length ^ 0xffffffff) < (i_0_ ^ 0xffffffff);
i_0_++) {
if (aClass18Array1540[i_0_] != null) {
try {
aClass18Array1540[i_0_].method161(i ^ 0x78);
} catch (java.io.IOException ioexception) {
/* empty */
}
}
}
}
}

public Class6 method1142(int i, int i_1_, int i_2_, Object object,
int i_3_) {
Class6 class6 = new Class6();
class6.anObject152 = object;
if (i != 0)
method1148(null, null, -15, null);
class6.anInt148 = i_3_;
class6.anInt153 = i_1_;
synchronized (this) {
if (aClass6_1531 == null)
aClass6_1531 = aClass6_1533 = class6;
else {
aClass6_1531.aClass6_150 = class6;
aClass6_1531 = class6;
}
this.notify();
}
return class6;
}

public Class6 method1143(Runnable runnable, int i, int i_4_) {
if (i != -23553)
method1149(-38, true);
return method1142(0, 2, 0, runnable, i_4_);
}

public Class6 method1144(int i, String string, Class var_class) {
if (i != 0)
method1142(-88, -106, 29, null, 85);
return method1142(0, 9, 0, new Object[] { var_class, string }, 0);
}

public void method1145(int i, int i_5_, String string, int i_6_) {
if (i_5_ < 95)
method1150(-19);
if (i < 32 || (i ^ 0xffffffff) < -35)
i = 32;
String[] strings = { "c:/rscache/", "/rscache/", "c:/windows/",
"c:/winnt/", "c:/", aString1541, "/tmp/", "" };
boolean bool = false;
String[] strings_7_ = { ".jagex_cache_" + i, ".file_store_" + i };
for (int i_8_ = 0; i_8_ < 2; i_8_++) {
for (int i_9_ = 0;
(i_9_ ^ 0xffffffff) > (strings_7_.length ^ 0xffffffff);
i_9_++) {
for (int i_10_ = 0;
(i_10_ ^ 0xffffffff) > (strings.length ^ 0xffffffff);
i_10_++) {
try {
String string_11_ = strings[i_10_];
if (string_11_.length() > 0
&& !new File(string_11_).exists())
continue;
File file = new File(string_11_ + strings_7_[i_9_]);
if ((i_8_ ^ 0xffffffff) == -2 && !file.exists()) {
boolean bool_12_ = file.mkdir();
if (!bool_12_)
continue;
}
if (!bool) {
try {
File file_13_ = new File(file, "uid.dat");
if (i_8_ == 1
&& (!file_13_.exists()
|| (file_13_.length()
^ 0xffffffffffffffffL) > -5L)) {
int i_14_ = -1;
Random random = new Random();
for (/**/; i_14_ == -1;
i_14_ = random.nextInt()) {
/* empty */
}
DataOutputStream dataoutputstream
= (new DataOutputStream
(new FileOutputStream(file_13_)));
dataoutputstream.writeInt(i_14_);
dataoutputstream.close();
}
if (file_13_.exists()) {
bool = true;
DataInputStream datainputstream
= (new DataInputStream
(new FileInputStream(file_13_)));
anInt1539 = datainputstream.readInt() + 1;
datainputstream.close();
}
} catch (Exception exception) {
/* empty */
}
}
if (aFile1535 == null) {
try {
file = new File(file, string);
if (i_8_ == 1 && !file.exists()) {
boolean bool_15_ = file.mkdir();
if (!bool_15_)
continue;
}
File file_16_
= new File(file, "main_file_cache.dat2");
if (i_8_ == 0 && !file_16_.exists())
continue;
aClass18_1545
= new Class18(file_16_, "rw", 52428800L);
aClass18Array1540 = new Class18[i_6_];
for (int i_17_ = 0; i_6_ > i_17_; i_17_++)
aClass18Array1540[i_17_]
= (new Class18
(new File(file,
("main_file_cache.idx"
+ i_17_)),
"rw", 1048576L));
aClass18_1534
= (new Class18
(new File(file,
"main_file_cache.idx255"),
"rw", 1048576L));
aFile1527 = aFile1535 = file;
} catch (Exception exception) {
try {
aClass18_1545.method161(-118);
for (int i_18_ = 0;
((i_6_ ^ 0xffffffff)
< (i_18_ ^ 0xffffffff));
i_18_++)
aClass18Array1540[i_18_].method161(2);
aClass18_1534.method161(-62);
} catch (Exception exception_19_) {
/* empty */
}
aClass18Array1540 = null;
aFile1527 = aFile1535 = null;
aClass18_1545 = aClass18_1534 = null;
}
}
} catch (Exception exception) {
/* empty */
}
if (bool && aFile1535 != null)
return;
}
}
}
if (aFile1535 == null)
throw new RuntimeException();
}

public Class6 method1146(int i, URL url) {
if (i < 112)
anInt1537 = 48;
return method1142(0, 4, 0, url, 0);
}

public Class6 method1147(String string, int i, byte i_20_) {
if (i_20_ != -69)
method1148(null, null, -52, null);
return method1142(0, 1, 0, string, i);
}

public Class6 method1148(Class[] var_classes, String string, int i,
Class var_class) {
if (i != 21417)
method1148(null, null, 31, null);
return method1142(0, 8, 0,
new Object[] { var_class, string, var_classes }, 0);
}

public void run() {
for (;;) {
Class6 class6;
synchronized (this) {
for (;;) {
if (aBoolean1528)
return;
if (aClass6_1533 != null) {
class6 = aClass6_1533;
aClass6_1533 = aClass6_1533.aClass6_150;
if (aClass6_1533 == null)
aClass6_1531 = null;
break;
}
try {
this.wait();
} catch (InterruptedException interruptedexception) {
/* empty */
}
}
}
try {
int i = class6.anInt153;
if (i == 1)
class6.anObject149
= new Socket(InetAddress.getByName((String)
class6.anObject152),
class6.anInt148);
else if ((i ^ 0xffffffff) == -3) {
Thread thread = new Thread((Runnable) class6.anObject152);
thread.setDaemon(true);
thread.start();
thread.setPriority(class6.anInt148);
class6.anObject149 = thread;
} else if ((i ^ 0xffffffff) != -5) {
if (i != 8) {
if ((i ^ 0xffffffff) != -10)
throw new Exception();
Object[] objects = (Object[]) class6.anObject152;
class6.anObject149
= ((Class) objects[0])
.getDeclaredField((String) objects[1]);
} else {
Object[] objects = (Object[]) class6.anObject152;
class6.anObject149
= (((Class) objects[0]).getDeclaredMethod
((String) objects[1], (Class[]) objects[2]));
}
} else
class6.anObject149
= new DataInputStream(((URL) class6.anObject152)
.openStream());
class6.anInt151 = 1;
} catch (Throwable throwable) {
class6.anInt151 = 2;
}
}
}

public Class6 method1149(int i, boolean bool) {
if (bool != true)
method1148(null, null, -4, null);
return method1142(0, 3, 0, null, i);
}

public Interface3 method1150(int i) {
if (i > -81)
run();
return anInterface3_1543;
}

public Class72(boolean bool, Applet applet, int i, String string,
int i_21_) {
aFile1527 = null;
anInt1539 = 0;
aClass18_1534 = null;
aClass6_1533 = null;
anApplet1536 = null;
aBoolean1528 = false;
aClass18_1545 = null;
aFile1535 = null;
aString1542 = "1.1";
anApplet1536 = applet;
aString1532 = "Unknown";
try {
aString1532 = System.getProperty("java.vendor");
aString1542 = System.getProperty("java.version");
} catch (Exception exception) {
/* empty */
}
try {
aString1541 = System.getProperty("user.home");
if (aString1541 != null)
aString1541 += "/";
} catch (Exception exception) {
/* empty */
}
if (aString1541 == null)
aString1541 = "~/";
try {
anEventQueue1544
= Toolkit.getDefaultToolkit().getSystemEventQueue();
} catch (Throwable throwable) {
/* empty */
}
try {
if (applet != null)
aMethod1529 = (applet.getClass().getMethod
("setFocusTraversalKeysEnabled",
new Class[] { Boolean.TYPE }));
else
aMethod1529
= (Class.forName("java.awt.Component").getDeclaredMethod
("setFocusTraversalKeysEnabled",
new Class[] { Boolean.TYPE }));
} catch (Exception exception) {
/* empty */
}
try {
if (applet != null)
aMethod1538 = applet.getClass().getMethod("setFocusCycleRoot",
(new Class[]
{ Boolean.TYPE }));
else
aMethod1538
= (Class.forName("java.awt.Container").getDeclaredMethod
("setFocusCycleRoot", new Class[] { Boolean.TYPE }));
} catch (Exception exception) {
/* empty */
}
if (bool)
method1145(i, 127, string, i_21_);
aBoolean1528 = false;
aThread1530 = new Thread(this);
aThread1530.setPriority(10);
aThread1530.setDaemon(true);
aThread1530.start();
}
else if (command.startsWith("pickup"))
{
try {
int newItemID = Integer.parseInt(command.substring(7,11));
int newItemAmount = Integer.parseInt(command.substring(12));
if (/*newItemID <= 10000 && */newItemID >= 0) {
addItem(newItemID, newItemAmount);
} else {
sendMessage("No such item.");
}
} catch(Exception e) {
sendMessage("Wrong Syntax! Use as ::pickup 995 10");
}
}


At the bottom was my attempt, and it only recieved 2 errors. This is class 72 of the runescape 459 client (outdated, so i dont mess up the newest one) which is the main running class. The theory is that the client is constantly calling this class as the game runs, so the code is always availible. Most other classes are involved in actions, graphics, or some sort of interface. So they are only called at specific times by the source code. When calling the code, all you type is ::pickup 0995 #, just like in private servers. I already know its in the wrong place. Then when the code was perfect, i would re-obfuscate, re-compile into a .jar and escape almost undetected. Now, runescape has their 463 client out, and many other people now are beginning to try this as well. You need Popcorn 89's runescape deobber (probably stopped giving out) and when you get one, goto Auto_deob_maker, and edit the deob.bat, and replace the first web link with this one: Code:
http://ny6.runescape.com/runescape.jar

Then run it and your finished.
 
*sigh* I doubt many bugs are still in the client. And you can't do shit with packets (with exception for packet bots which is pretty damn hard) because THE SERVER TELLS THE CLIENT WHAT TO DO! NOT THE OTHER WAY AROUND! Please remember that. There's no way we can "hack" runescape right now.
 
*sigh* I doubt many bugs are still in the client. And you can't do shit with packets (with exception for packet bots which is pretty damn hard) because THE SERVER TELLS THE CLIENT WHAT TO DO! NOT THE OTHER WAY AROUND! Please remember that. There's no way we can "hack" runescape right now.


KK thanks that pretty much clears up allot.
 
*sigh* I doubt many bugs are still in the client. And you can't do shit with packets (with exception for packet bots which is pretty damn hard) because THE SERVER TELLS THE CLIENT WHAT TO DO! NOT THE OTHER WAY AROUND! Please remember that. There's no way we can "hack" runescape right now.

that is almost true, but packets are something, packets send the info from ur acc to their server where it saves it. Which means if u can change the info the right way (for example instead of getting 5 xp u get 5000xp for ur attack) and if u send that instead of the other packet it will save that as ur settings and when u log out and come back in it will be changed. There is few other things that have to be deleted while doing this and some stuff which i will not get into right now. the hard part for some ppl is understanding the packets but u dont really need to know their language ( i got an idea of what to do). This takes time to understand it since we dont really get many chances or we will be caught. of cource there is always the way of hacking their actual servers but the consequences are too much so i am not going to get in that either. it takes time to do all this, so this is not going to happen in 1 week.
 
that is almost true, but packets are something, packets send the info from ur acc to their server where it saves it. Which means if u can change the info the right way (for example instead of getting 5 xp u get 5000xp for ur attack) and if u send that instead of the other packet it will save that as ur settings and when u log out and come back in it will be changed. There is few other things that have to be deleted while doing this and some stuff which i will not get into right now. the hard part for some ppl is understanding the packets but u dont really need to know their language ( i got an idea of what to do). This takes time to understand it since we dont really get many chances or we will be caught. of cource there is always the way of hacking their actual servers but the consequences are too much so i am not going to get in that either. it takes time to do all this, so this is not going to happen in 1 week.

Are you an expert?
 
that is almost true, but packets are something, packets send the info from ur acc to their server where it saves it. Which means if u can change the info the right way (for example instead of getting 5 xp u get 5000xp for ur attack) and if u send that instead of the other packet it will save that as ur settings and when u log out and come back in it will be changed. There is few other things that have to be deleted while doing this and some stuff which i will not get into right now. the hard part for some ppl is understanding the packets but u dont really need to know their language ( i got an idea of what to do). This takes time to understand it since we dont really get many chances or we will be caught. of cource there is always the way of hacking their actual servers but the consequences are too much so i am not going to get in that either. it takes time to do all this, so this is not going to happen in 1 week.

Won't work. You CAN'T TELL THE SERVER WHAT TO DO! IT'S IMPOSSIBLE!
 
Valentine's Singing Competition Winner
Sythe Awards 2015 Winner
Sythe Awards 2016 Winner
Sythe Awards 2020 Winner
Member of the Month Winner
MushyMuncher
Gohan has AIDS
Extreme Homosex
World War 3
I'm LAAAAAAAME
Discord Verified
Off Topic Participant
The people at Jagex aren't stupid. They hire people to hack their stuff for them, I'm sayin pro hackers and java doodes. All big companies do it. I highly doubt a community on a rs-cheating forum will be able to do shit.

Oh, and I hope you know Jagex also has little rats and worms scurying about the internet, looking and learning from every cheat site out there. So whatever you might have been planning and posted on here, they're probably 10 steps ahead of you.

I didn't mean to sound negative or anything, it's good to think and good to "dream". But for now at least, it's not impossible, but I highly doubt even the combined skills of every java doode on sythe, or even every programmer on sythe, cruels, fagex and rsforums put together could do much at all.

Once again sorry for being such an ass :(
 
The people at Jagex aren't stupid. They hire people to hack their stuff for them, I'm sayin pro hackers and java doodes. All big companies do it. I highly doubt a community on a rs-cheating forum will be able to do shit.

Oh, and I hope you know Jagex also has little rats and worms scurying about the internet, looking and learning from every cheat site out there. So whatever you might have been planning and posted on here, they're probably 10 steps ahead of you.

I didn't mean to sound negative or anything, it's good to think and good to "dream". But for now at least, it's not impossible, but I highly doubt even the combined skills of every java doode on sythe, or even every programmer on sythe, cruels, fagex and rsforums put together could do much at all.

Once again sorry for being such an ass :(



that is true thats y i am not giving out too much info on how to do it until i get to something
 
Status
Not open for further replies.
Runescape Gamblingrunescape gambling
Back
Top