SRL Archive - Reflection Discussion

[Theory]Jagex having multiple hooks?


JPHamlett

2011-06-26 00:58:34

Is it possible for Jagex to have a different set of hooks EVERYTIME you load a new client?

Just have the applet run a different JAR file. An example when you load the applet it loads runescape1.jar, and the next time you run the applet it loads runescape2.jar. Both the jars run the same game but have different hooks.

n3ss3s

2011-06-26 05:06:33

What is the point of this thread? Ofcourse they can do that if they want to.

JPHamlett

2011-06-26 06:02:38

Wouldn't that throw off java bots and all hooks bots?

Gu3st...

2011-06-26 06:43:40

From: JPHamlett
Wouldn't that throw off java bots and all hooks bots?
For some time, yes, but then developers will just get the hooks from all the different .jars

Wizzup?

2011-06-26 07:44:35

From: Zyt3x
For some time, yes, but then developers will just get the hooks from all the different .jars


Different jars? What if it is just randomly generated?

Gu3st...

2011-06-26 09:03:22

From: Wizzup?
Different jars? What if it is just randomly generated?
I didn't think about that…

Rich

2011-06-26 09:44:18

Wasn't there a thread about this a while ago?

EDIT: Here.

Gu3st...

2011-06-26 11:31:53

From: Rich
Wasn't there a thread about this a while ago?

EDIT: Here.
Not the same topic though. They're talking about changing them during runtime

Flight

2011-06-26 12:06:42

From: Zyt3x
Not the same topic though. They're talking about changing them during runtime


Not from how I understand it. JP's making the suggestion hooks are generated during client initialization, not so much run time.

pyroryan

2011-06-26 12:30:16

For random jar generation, I imagine that would increase server load quite significantly, to the point of impracticality.

Wizzup?

2011-06-26 12:38:39

From: pyroryan
For random jar generation, I imagine that would increase server load quite significantly, to the point of impracticality.


I doubt it. Imagine the amount of servers they already have. Make one generate about ~1000 before each update. Fixed.

pyroryan

2011-06-26 13:13:44

From: Wizzup?
I doubt it. Imagine the amount of servers they already have. Make one generate about ~1000 before each update. Fixed.


Thats a set of jars. I'm talking about randomly generating one for each user or generating one when the applet is loading.

Wizzup?

2011-06-26 13:35:33

From: pyroryan
Thats a set of jars. I'm talking about randomly generating one for each user or generating one when the applet is loading.


Are you suggesting a thousand jar's can easily be broken? Sounds pretty random to me. They could easily extend it to 10k jars too.

pyroryan

2011-06-26 13:48:42

From: Wizzup?
Are you suggesting a thousand jar's can easily be broken? Sounds pretty random to me. They could easily extend it to 10k jars too.


No, I'm just saying that the circumstances of random jar generation are different. You're talking about generating a few thousand jars that are then randomly used. I'm talking about generating them "on the fly". I agree that if Jagex were to implement a system like this, they would generate the jars ahead of time.

Gu3st...

2011-06-26 13:55:17

From: Flight
Not from how I understand it. JP's making the suggestion hooks are generated during client initialization, not so much run time.
In this thread we're talking about JaGeX creating many .jars, in that thread they're talking about changing the hooks as you play the game.

Echo_

2011-07-01 08:01:00

Technically it wouldn't be an issue if you were to run a hook updater each time you started the client because the bytecode patterns would still be the same for that revision, just the field and class names were changed. So unless they were to do a complete client scramble each and every time you loaded the client, we would still be able to use reflection (although using a hook updater each time would certainly be a pain).

mastaraymond

2011-07-01 11:00:03

Just download 1 client, create hooks and distribute.

JPHamlett

2011-07-01 15:03:49

^^ If you download one client, yes you can make hooks for it. What if there is 1000 clients, and every time you load the applet it generates a random number (server side) and runs that client?

i luffs yeww

2011-07-01 15:08:26

I don't think jagex obs their client with a random number generation at runtime.

Mdog

2011-07-20 12:46:13

By hooks, I'm guessing you mean the field and class names. If those were randomly different for everyone, the updater that the bots use to find the hooks would have to be included in the bot, and ran on the fly. However, if the bytecode was randomly being changed too… Well you'd have one hell of a problem there. But I don't see that happening, because to make massive bytecode changes (with the exception of the obfuscation currently used) you would ultimately be changing the programming of the client, and would probably get highly unwanted side effects (if it ran at all).


From: mastaraymond
Just download 1 client, create hooks and distribute.

This would be a good solution if the bytecode was randomly changing. But then the question of detectability comes into play.

tofurocks

2011-07-23 02:52:14

From: JPHamlett
^^ If you download one client, yes you can make hooks for it. What if there is 1000 clients, and every time you load the applet it generates a random number (server side) and runs that client?

Yeah I'm thinking if this happened reflection would be pooched.
Colour would reign if this ever this ever happened.
On the other hand somebody skilled with memory might be able to make a universal updater..