SRL Archive - Client Hacking

Refactored #578 Client


Method

2009-12-31 23:13:34

Hey all, I've been working on refactoring the current RuneScape client for about a week and decided to release it as a new years/late christmas present for you guys to pick apart. Hopefully you'll find some things you recognize as well as some new things that I have identified. Here are a few download links:


Have fun! :)

Camaro'

2009-12-31 23:18:49

From: Method
Hey all, I've been working on refactoring the current RuneScape client for about a week and decided to release it as a new years/late christmas present for you guys to pick apart. Hopefully you'll find some things you recognize as well as some new things that I have identified. Here are a few download links:


Have fun! :)


I have no idea what this means. :p

Awkwardsaw

2009-12-31 23:19:29

From: method
hey all, i've been working on refactoring the current runescape client for about a week and decided to release it as a new years/late christmas present for you guys to pick apart. Hopefully you'll find some things you recognize as well as some new things that i have identified. Here are a few download links:


have fun! :)


<3. :d

MylesMadness

2009-12-31 23:28:10

[QUOTE=Camaro';671295]I have no idea what this means. :p[/QUOTE]I keep thinking your that other person whos name escapes me because of your avatar!

Camaro'

2009-12-31 23:40:11

Sux?


Even though i have no idea what this thing does, its most likely a great improvement, good job method.

mormonman

2010-01-01 03:10:34

This is what I asked for that one time… I just didn't know the word for it. <3 you as usual.

Bobarkinator

2010-01-05 23:47:23

From: MylesMadness
I keep thinking your that other person whos name escapes me because of your avatar!


MJordan, I've done it on several occasions also.

Thanks for this Method. I'll take a look at it.

Sex

2010-01-05 23:53:06

Yeah but Camaro's is more clearer.
Offtopic:Ads on SRL for RID now :D.

Method

2010-01-06 00:16:40

From: Bobarkinator
MJordan, I've done it on several occasions also.

Thanks for this Method. I'll take a look at it.


You're welcome. I'm surprised all of the people who want to help with reflection haven't posted and downloaded this. It's probably the most useful thing they'll find.

From: Sex
Yeah but Camaro's is more clearer.
Offtopic:Ads on SRL for RID now :D.


None of that was on topic??

Sex

2010-01-06 00:41:04

It was on topic as far as what Bobarkinator was talking about.

lordsaturn

2010-01-06 00:49:04

Screenshots someone please

Method

2010-01-06 00:51:59

From: lordsaturn
Screenshots someone please


Of what…? This isn't meant to be run, though it still can be.

Wanted

2010-01-06 01:08:05

Method, why isn't SMART able to return any client info even though the hooks are right?

Method

2010-01-06 01:09:19

If you're using the correct fields, you're probably just using them incorrectly. Otherwise, you probably have the wrong fields.

marpis

2010-01-06 06:55:02

This is an update to SMART so it can read RS client again, ergo reflection will be up again soon?
E: Downloaded it, definately not an update to SMART. What the hell is it? :D

Method

2010-01-06 09:25:54

From: marpis
This is an update to SMART so it can read RS client again, ergo reflection will be up again soon?
E: Downloaded it, definately not an update to SMART. What the hell is it? :D


It's the RuneScape client, like the first posts states..where in the world did you get the idea that it was an update to SMART??

Widget

2010-01-06 11:17:28

/facepalm

This is the official Runescape client that Method decompiled and rewrote and re-organized bits of it so that humans can read it (mostly). If you wanted to learn about the client to say write an updater, this would be the thing to read through to get an idea of how everything works :p

From: marpis
This is an update to SMART so it can read RS client again, ergo reflection will be up again soon?
E: Downloaded it, definately not an update to SMART. What the hell is it? :D

Eh? SMART's not broken, it's the reflection side (as in, the include files)

Bobarkinator

2010-01-06 11:37:45

If you don't know what it is, don't worry about it.

@Method: It was hidden underneath another thread(ergo it wasn't shown on the front page), that's why it took me so long to get to it.

HyperSecret

2010-01-06 12:48:14

Thanks Method! Will definitely take a look at this!

Wanted

2010-01-06 13:32:56

From: Method
If you're using the correct fields, you're probably just using them incorrectly. Otherwise, you probably have the wrong fields.


Have you tested it? I'm using hooks from rshacking website, checked them with rsbot hooks. I can't even get basex and basey (mypos) to work

mastaraymond

2010-01-06 13:47:17

Ouch, Interesting! I'll definitely take a look at this when I've got some time! Thank you Method.

n3ss3s

2010-01-06 14:52:24

For the last time, hooks are correct! What's wrong is how they are used, e.g lets say if how to get your BaseX used to be a * 3 + b, now its different e.g b * 3 - a, and we are still in the old way.


Currently looking at it, I'm trying to figure out where is animation ID defined but it's not easy :p

EDIT: Wait… Is it Animation class id field? :p

mormonman

2010-01-06 16:20:58

From: IceFire908
Have you tested it? I'm using hooks from rshacking website, checked them with rsbot hooks. I can't even get basex and basey (mypos) to work


basex and basey are exactly that… the basex and y coords on the runescape client.

marpis

2010-01-06 16:58:18

From: Method
where in the world did you get the idea that it was an update to SMART??

SRL-Forums > SRL Public Forum > S.M.A.R.T > Reflection

From: Widget

Eh? SMART's not broken, it's the reflection side (as in, the include files)

Ok good to know, was just guessing :rolleyes:

Wanted

2010-01-06 17:02:57

How do I go about fixing this?

  me := SmartGetFieldObject(0, MyPlayer);
Result.x := SmartGetFieldInt(0, BaseX) + SmartGetFieldInt(me, CurrentX) shr 7;
Result.y := SmartGetFieldInt(0, BaseY) + SmartGetFieldInt(me, CurrentY) shr 7;
SmartFreeObject(me);

Does he just randomly pull this math out his ass or is there a way to figure this out from looking at the class sources?

Bobarkinator

2010-01-06 17:07:22

You have to look at how it's used in the client and figure out from there.

Method

2010-01-06 19:30:51

From: n3ss3s
For the last time, hooks are correct! What's wrong is how they are used, e.g lets say if how to get your BaseX used to be a * 3 + b, now its different e.g b * 3 - a, and we are still in the old way.


Currently looking at it, I'm trying to figure out where is animation ID defined but it's not easy :p

EDIT: Wait… Is it Animation class id field? :p


Look in the Player class for the method updatePosition. It's used in there (it's called animation).

n3ss3s

2010-01-07 15:31:45

From: Method
Look in the Player class for the method updatePosition. It's used in there (it's called animation).


How should I try to recompile this, to see how it looks like in Bytecode? I tried just javac *.java but not everything would compile…

Method

2010-01-07 17:14:48

You'll need to fix the compilation errors then (download the jdk, add any missing files to the classpath, etc.).

Wewt

2010-01-13 16:11:12

From: n3ss3s
How should I try to recompile this, to see how it looks like in Bytecode? I tried just javac *.java but not everything would compile…


If you recompile this and then play RuneScape with it, I guarentee that you'll be banned within a few hours. Jagex has several traps that are triggered when you recompile the client.

Bebe

2010-01-13 17:43:10

From: Wewt
If you recompile this and then play RuneScape with it, I guarentee that you'll be banned within a few hours. Jagex has several traps that are triggered when you recompile the client.


That's common knowledge. This is for information purposes only. Not to actually play Runescape.

Wewt

2010-01-13 18:58:28

From: Bebe
That's common knowledge. This is for information purposes only. Not to actually play Runescape.



I know, I was just making sure. I saw people talking about recompiling it, and wasn't sure what their purpose in that was :)

Method

2010-01-13 21:25:52

I've logged onto my deobfuscated clients before and no account has been banned.

LolL

2010-02-27 16:35:56

Method, much, much love to you! I am learning more and more about the client, so thanks.

However, I am having trouble locating the worldToScreen method and would love to hear any advice, tips, or information that would lead me to a solution.

Thanks again for the refactored client. :staycool:

Method

2010-02-27 17:43:58

You're probably looking for GraphicsToolkit.method2765.

weequ

2010-02-27 19:15:27

What was the addres for downloading runescape.jar?
And also can you lead me to a good guide about decompiling the files :P

In rsc bots used to be just client modifications that sent fake commands to the server. Like some guys managed to kill bankers that wasn't normally possible :P
So would that result in instant ban nowdays?
And is it simple to run the client from your own computer?

Edit: I hate that they have named most of the medhods like: method2141, method181 …… how they even manage to read their own code

LolL

2010-02-27 20:23:38

From: antti mies
What was the addres for downloading runescape.jar?

You can always find the location in the game page's HTML. Nowadays, they store it at http://world1.runescape.com/runescape.jar, whereas you could replace "1" with any desired world number, but it obtains the same file.

From: antti mies

In rsc bots used to be just client modifications that sent fake commands to the server. Like some guys managed to kill bankers that wasn't normally possible :P
So would that result in instant ban nowdays?

That was when packet bots existed… those days are long gone and stopped existing when RuneScape began to encode packets. :bart:

From: antti mies

Edit: I hate that they have named most of the medhods like: method2141, method181 …… how they even manage to read their own code

They actually name the code properly. On release, however, they deobfuscate the code so people like us have a hard time learning or examining it. Method has renamed some of the methods, fields, and classes to meaningful names so our heads don't twirl. :stirthepot:

TRiLeZ

2010-02-28 00:43:40

From: LolL
You can always find the location in the game page's HTML. Nowadays, they store it at http://world1.runescape.com/runescape.jar, whereas you could replace "1" with any desired world number, but it obtains the same file.


That was when packet bots existed… those days are long gone and stopped existing when RuneScape began to encode packets. :bart:


They actually name the code properly. On release, however, they deobfuscate the code so people like us have a hard time learning or examining it. Method has renamed some of the methods, fields, and classes to meaningful names so our heads don't twirl. :stirthepot:


Actually, they obfuscate it, not deobfuscate it. :p

weequ

2010-02-28 11:00:50

Thanks LolL <3

Cartmann

2010-03-02 04:48:19

when RuneScape began to encode packets.


Isn't it posible to hack encoded packages?