SRL Archive - Reflection Development

[Small] Hooks Updater with source


Camaro'

2010-05-14 16:54:11

Here is my hooks updater;)

Heres what it hooks so far

[PHP]
^ client implements com.rs.hooks.Client
getWalkingQueueX() –> field int[] cd.lc
getWalkingQueueY() –> field int[] cd.kc
getBaseX() –> static int jv.ic
getBaseY() –> static int pi.c
getPlane() –> static int im.p
getLoginIndex() –> static int lda.b
getNpcCount() –> static int vs.c
getNpcIndexArray() –> static int[] as.q
getMyPlayer() –> static hca lb.m
getPlayerIndexArray() –> static int[] nl.d
getPlayerCount() –> static int aj.y
[/PHP]

^There was a few mode ( 3 Iirc ) but, they were broken so I removed them from the source (Useless hooks anyway)
I am posting this for learning purposes.

Instructions on how to get it to work.

1 ) Download the RAR
2 ) Make a new java project in your IDE (I use eclipse and will explain things for use with eclipse)
3 ) Navigate to the updater, and select the source as the new projects source.
4 ) Right click the project, select properties, and select like add JARS,
if its not added already, navigate to the BCEL.jar and select it.
5 ) Open up Updater.java and click the play button.

When RS Updates

You have to download the runescape.jar from
world2.runescape.com/runescape.jar
and either delete or rename the current runescape.jar and put the new one in the same spot as the old one.

IF that made no sense then ..

(Replace the old runescape.jar with the new one ;))

Whats included:

Runescape at its current version ( once set up (above) you just click run and your ready)

Older versions of runescape

Updater for hooks ;)


What needs to be done:

Update and download the JAR if needed - automatically
More hooks

DOWNLOAD

Too big for attachment, sorry

http://www.sendspace.com/file/d2tpi8


Instant link:
Instant

Avaphi

2010-05-14 17:26:31

Very Nice !

Camaro'

2010-05-14 17:32:10

From: Avaphi
Very Nice !


Thank you, makes me feel appreciated :)

Avaphi

2010-05-14 17:36:50

This is a nice accomplishment, and a great contribution to the community. Thanks again.

Does your guildminer still work with simba?

Camaro'

2010-05-14 17:43:30

Thanks. :)

Its flawless with scar, never tested with simba.

But, if it stops working, its because runescape updated and I haven't gotten around to updating the hooks. (Uses hooks on a website, so you don't have to worry about updating or anything)

Avaphi

2010-05-14 17:46:55

[QUOTE=Camaro';710182]Thanks. :)

Its flawless with scar, never tested with simba.

But, if it stops working, its because runescape updated and I haven't gotten around to updating the hooks. (Uses hooks on a website, so you don't have to worry about updating or anything)

Ahh I see, well if you want I would love to give it a test run when it gets back up and running on my main :stirthepot:

Camaro'

2010-05-14 17:49:49

From: Avaphi
Ahh I see, well if you want I would love to give it a test run when it gets back up and running on my main :stirthepot:


My fault, I should of mentioned I updated the hooks an hour or two ago. :)

Mind adding my MSN?

[email]air_mc_roberts@hotmail.com[/email]

Avaphi

2010-05-14 18:01:17

Sure just added you. RIP Steve McNair :(

Camaro'

2010-05-14 19:21:02

From: Avaphi
Sure just added you. RIP Steve McNair :(


Yeah. No one else seems to find this useful?

MylesMadness

2010-05-14 19:22:09

No one else knows how to use it :p

HyperSecret

2010-05-15 02:53:42

Thanks man! I always needed a basic updater like this to get things sorted out with my updater. Great!

Also how did you go about finding these hooks? Do you get the classes that they are in from other people, or do you do your own searching? If you do your own searching how do you do it? (This is what I have always had a challenge with)

None the less, looking at this really helps a lot!

Gu3st...

2010-05-15 03:30:08

I wonder the same as HyperSecret… :p
And thanks! Might be useful ^^

Drakan

2010-05-15 08:31:24

Its about learning bytecode and finding patterns that are consistent throughout client versions. Example, in the rs class "client.class" there is a line where 3 or 4 key shorts are passed. These are 1024, 768, and the rs build number. Using BCEL, you find when it's passing those three numbers and you get the number that is > 500, and < 768. This is the runescape Build number. This is just a small example.

EDIT: I merged my hooks and patterns onto Benland's base so its a lot more solid now :) Heres an output. Thanks ben!

Here is my updaters output as of right now:

const
ClientVersion = 607;

{Static Hooks}
hook_static_LoginIndex = 'lda.b';
hook_static_MyPlayer = 'lb.m';
hook_static_BaseX = 'jv.ic';
hook_static_BaseY = 'pi.c';
hook_static_LoadedPlane = 'im.p';
hook_static_PlaneArray = 'wda.k';
hook_static_GroundSettingsArray = 'lba.t';
hook_static_Toolkit = 'eca.c';
hook_static_MapAngle = 'gl.p';
hook_static_DestX = 'sk.a';
hook_static_DestY = 'ih.Y';
hook_static_CamPitch = 'io.O';
hook_static_CamYaw = 'sa.j';
hook_static_CamPosX = 'hp.N';
hook_static_CamPosY = 'op.i';
hook_static_CamPosZ = 'np.f';
hook_static_MenuNodeList = 'taa.d'; //NodeList - The NodeList object for Menus [NEEDS TO BE HOOKED]
hook_static_MenuOpen = 'tca.K'; //boolean - True if a menu is open [NEEDS TO BE HOOKED]
hook_static_MenuOptionCount = 'nj.j';
hook_static_MenuX = 'wj.d';
hook_static_MenuY = 'he.m';

{Class Animable}
class_Animable = 'lba';
hook_animable_PixelX = 'k';
hook_animable_PixelY = 'j';
hook_animable_Plane = 'd';

{Class Player}
class_Player = 'hca';

{Class Character}
class_Character = 'cd';
hook_character_Animation = 'X';
hook_character_Motion = 'mc';
hook_character_WalkQueueX = 'kc';
hook_character_WalkQueueY = 'lc';

{Class GroundTile}
class_GroundTile = 'sk';

{Class Plane}
class_Plane = 'sa';

{Class Toolkit}
class_Toolkit = 'qa';

{Class Viewport}
class_Viewport = 'm';

{Class SDViewport}
class_SDViewport = 'od';
hook_sdviewport_xOff = 'q';
hook_sdviewport_xX = 't';
hook_sdviewport_xY = 'o';
hook_sdviewport_xZ = 'r';
hook_sdviewport_yOff = 'm';
hook_sdviewport_yX = 'k';
hook_sdviewport_yY = 's';
hook_sdviewport_yZ = 'n';
hook_sdviewport_zOff = 'j';
hook_sdviewport_zX = 'i';
hook_sdviewport_zY = 'l';
hook_sdviewport_zZ = 'p';

{Class SDToolkit}
class_SDToolkit = 'fg';
hook_sdtoolkit_xMin = 'W';
hook_sdtoolkit_xMax = 'u';
hook_sdtoolkit_yMin = 'L';
hook_sdtoolkit_yMax = 'Z';
hook_sdtoolkit_zMin = 'x';
hook_sdtoolkit_zMax = 'O';
hook_sdtoolkit_xScale = 'X';
hook_sdtoolkit_yScale = 'D';
hook_sdtoolkit_Viewport = 'G';

{Class SDPlane}
class_SDPlane = 'hu';
hook_sdplane_TileHeights = 'o';

{NodeList }//NEEDS TO BE HOOKED
hook_nodelist_Head = 'q'; //Node - The head of the NodeList

{Node}//NEEDS TO BE HOOKED
hook_node_Next = 'e'; //Node - The next Node in the list, or null

{Menu extends Node }
hook_menu_Option = 'i'; //String - NEEDS TO BE HOOKED
hook_menu_Action = 'l'; //String - NEEDS TO BE HOOKED

When I am finished, I will probably release it publicly so we can keep updated. Keep up the good work camero.

Camaro'

2010-05-15 09:34:07

From: HyperSecret
Thanks man! I always needed a basic updater like this to get things sorted out with my updater. Great!

Also how did you go about finding these hooks? Do you get the classes that they are in from other people, or do you do your own searching? If you do your own searching how do you do it? (This is what I have always had a challenge with)

None the less, looking at this really helps a lot!


Want to add me on MSN?

[email]air_mc_roberts@hotmail.com[/email]

Jatak

2010-05-19 21:01:31

I downloaded Eclipse and opened a new java project but being new to programing your setup description is a little vague. Could you do a more detailed one or add a few SS.

Thanks

i luffs yeww

2010-05-19 23:01:16




Does that explain it?

Sorry, I don't have much time. I can do a better one later. :p

Camaro'

2010-05-20 06:25:21

From: i luffs yeww



Does that explain it?

Sorry, I don't have much time. I can do a better one later. :p


:spot:

Thank you, this is correct.

Jatak

2010-05-20 11:38:08



Thanks for the help with the source bit, still not quite understood what to do though. I selected the 'srl' folder as the projects source. When in the properties i cant find the add JARS. I run the BCEL.jar instead but got this error :duh:

Thanks for your time :)

Camaro'

2010-05-20 16:46:26

When you select project properties go to java build path.