SRL Archive - Client Hacking

#619


pyroryan

2010-09-15 18:14:16

Most hooks updated.
Report any broken hooks please.

{**
* Copyright 2010 by Benjamin J. Land (a.k.a. BenLand100)
*
* This file is part of the SMART Minimizing Autoing Resource Thing (SMART)
*
* SMART is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* SMART is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with SMART. If not, see <http://www.gnu.org/licenses/>.
*}

const
ClientVersion = 619;

{Static Hooks}
hook_static_LoginIndex = 'gs.e'; //619
hook_static_MyPlayer = 'rr.e'; //619
hook_static_BaseX = 'oe.j'; //619
hook_static_BaseY = 'ar.l'; //619
hook_static_NPCIndexArray = 'ur.r'; //619
hook_static_NPCNodes = 'sa.I'; //619
hook_static_NPCCount = 'sfa.J'; //619
hook_static_GroundSettingsArray = 'tj.t'; //619
hook_static_LoadedPlane = 'jda.J'; //619
hook_static_PlaneArray = 'an.c'; //619
hook_static_Toolkit = 'fd.n'; //619
hook_static_MapAngle = 'fga.H'; //619
hook_static_DestX = 'dfa.l'; //619
hook_static_DestY = 'mk.R'; //619
hook_static_MenuOptionCount = 'fca.m'; //619
hook_static_MenuX = 'ie.o'; //619
hook_static_MenuY = 'aa.h'; //619
hook_static_MenuOpen = 'lf.i'; //619
hook_static_MenuNodeList = 'aaa.k'; //619
hook_static_LoopCycle = 'd.H'; //619
hook_static_PlayerCount = 'cda.f'; //619
hook_static_PlayerIndexArray = 'nda.v'; //619
hook_static_GetPlayers = 'it.f'; //619
hook_static_GetSkillLevels = 'eu.i'; //619
hook_static_GetSkillExperiences = 'efa.xb'; //619
hook_static_GroundTiles = 'efa.yb'; //619
hook_static_GetInterfaces = 'jl.e'; //619
hook_static_ValidInterfaces = 'ar.r'; //619
hook_static_GetSettings = 'ek.J'; //619
hook_static_GroundItemCache = 'hd.h'; //619
hook_static_CamPosX = 'mq.B'; //619
hook_static_CamPosY = 'ifa.u'; //619

{Class Animable}
class_Animable = 'ir'; //619
hook_animable_PixelX = 'y'; //619
hook_animable_PixelY = 'x'; //619
hook_animable_Plane = 'l'; //619

{Class Player}
class_Player = 'kba'; //619
hook_player_GetLevel = 'id'; //619
hook_player_GetName = 'ed'; //619
hook_player_PlayerDef = 'pd'; //not updated

{Class Character}
class_Character = 'he'; //619
hook_character_GetHitDamges = 'Vb'; //check?-619
hook_character_Animation = 'bc'; //619
hook_character_Motion = 'Wc'; //619
hook_character_WalkQueueX = 'Pc'; //619
hook_character_WalkQueueY = 'Nc'; //619
hook_character_GetHeight = 'Xb'; //619
hook_character_LoopCycleStatus = 'Lb'; //619
hook_character_HPRatio = 'Z'; //619
hook_character_GetInteracting = 'Yb'; //619
hook_character_Orientation = 'Bc'; //619

{Class NPC}
class_NPC = 'nu'; //619
hook_npc_NPCDef = 'fd'; //619

{Class NPCDef}
class_NPCDef = 'iv'; //619
hook_npcdef_GetActions = 'tb'; //619
hook_npcdef_GetName = 'K'; //619
hook_npcdef_GetLevel = 's'; //619
hook_npcdef_GetID = 'Y'; //619

{Class NPCNode}
class_NPCNode = 'pt'; //619
hook_npcnode_GetNPC = 'i'; //619

{Class GroundTile}
class_GroundTile = 'kba'; //619

{Class Plane}
class_Plane = 'i'; //619

{Class RSInteractable}
class_RSInteractable = 'cv'; //619

{Class Toolkit}
class_Toolkit = 'r'; //check?-619

{Class Viewport}
class_Viewport = 'q'; //not updated

{Class SDViewport}
class_SDViewport = 'lu'; //619
hook_sdviewport_xOff = 'H'; //619
hook_sdviewport_xX = 'p'; //619
hook_sdviewport_xY = 'i'; //619
hook_sdviewport_xZ = 'l'; //619
hook_sdviewport_yOff = 'n'; //619
hook_sdviewport_yX = 'k'; //619
hook_sdviewport_yY = 'j'; //619
hook_sdviewport_yZ = 'J'; //619
hook_sdviewport_zOff = 'G'; //619
hook_sdviewport_zX = 'I'; //619
hook_sdviewport_zY = 'm'; //619
hook_sdviewport_zZ = 'F'; //619

{Class SDToolkit}
class_SDToolkit = 'rfa'; //619
hook_sdtoolkit_xMin = 'w'; //619
hook_sdtoolkit_xMax = 'F'; //619
hook_sdtoolkit_yMin = 'H'; //619
hook_sdtoolkit_yMax = 'R'; //619
hook_sdtoolkit_zMin = 'db'; //619
hook_sdtoolkit_zMax = 'ab'; //619
hook_sdtoolkit_xScale = 'z'; //619
hook_sdtoolkit_yScale = 'M'; //619
hook_sdtoolkit_Viewport = 'C'; //619

{Class SDPlane}
class_SDPlane = 'i'; //619
hook_sdplane_TileHeights = 'c'; //619

{Class NodeList}
class_NodeList = 'wo'; //619
hook_nodelist_Current = 'q'; //619
hook_nodelist_Head = 'g'; //619

{Class Node}
class_Node = 'jca'; //619
hook_node_Next = 'h'; //619
hook_node_Previous = 'g'; //619
hook_node_GetID = 'e'; //619

{Class Menu}
class_Menu = 'kr'; //619
hook_menu_Action = 'j'; //619
hook_menu_Option = 'r'; //619

{Class PlayerDef}
class_PlayerDef = 'n'; //couldn't find class
hook_playerdef_GetEquipment = 't'; //couldn't find this hook (n.t) anywhere in #614..

{Class AnimableNode}
class_AnimableNode = 'ri'; //619
hook_AnimableNode_GetAnimable = 'd'; //619
hook_AnimableNode_GetNext = 'a'; //619

{Class ObjectInterface}
class_ObjectInterface = 'wv'; //619
hook_interface_GetActions = 'u'; //619
hook_interface_GetX = 'A'; //619
hook_interface_GetY = 'hc'; //619
hook_interface_GetWidth = 'r'; //619
hook_interface_GetHeight = 'zc'; //619
hook_interface_GetText = 'fd'; //619
hook_interface_GetTextureID = 'ob'; //619
hook_interface_GetTextColor = 'rc'; //619
hook_interface_GetModelID = 'ob'; //not updated
hook_interface_GetModelZoom = 'Cb'; //619
hook_interface_GetName = 'tc'; //not updated
hook_interface_GetChildren = 'ac'; //619
hook_interface_GetID = 'i'; //619
hook_interface_GetStack = 'n'; //619

{Class Ground}
class_Ground = 'se'; //619
hook_ground_AnimableList = 'o'; //619
hook_ground_WallObject1 = 'h'; //619
hook_ground_WallObject2 = 'i'; //619
hook_ground_WallDecoration1 = 'e'; //619
hook_ground_WallDecoration2 = 'd'; //619
hook_ground_FloorDecoration = 'f'; //619

//GroundItem crap.
//nodecache class wh
hook_nodecache_GetNodes = 'wh.a'; //619

//RSItem class ni
hook_item_GetID = 'ni.n'; //619
hook_item_GetStack = 'ni.o'; //619

//nodelistcache class oc
hook_nodelistcache_GetNodeList = 'oc.k'; //619

//Settings Array
hook_settingarray_GetData = 'ib.h'; //619

{
/////////////// HOOKS BELOW HERE ARE *OUTDATED* AS OF 14 July 2010 (Client 614) ////////////////////////
These hooks all need to be added to the updater.
}

//Some work actually. You're welcome. Updated as much as I could. (Thanks to TRiLeZ.)

{Class InteractiveObject1}
class_InteractiveObject1 = 'ud'; //619
hook_interactiveobject_GetID = 'ib'; //619
hook_interactiveobject_getModel = 'lb'; //619

{Class InteractiveObject2}
class_InteractiveObject2 = 'qe'; //619
hook_interactiveobject2_getObjectData = 'nb'; //619
hook_interactiveobject_GetID2 = 'w.H'; //not updated

{Class SecondLevelObject}
class_SecondLevelObject = 'sw'; //619

//WallObjectData class wda
hook_wallobjectdata_GetID = 'x'; //not updated
hook_wallobjectdata_GetID2 = 'D.H'; //not updated

//WallDecorationData class ew
hook_WallDecorationData_GetID = 'w'; //not updated
hook_WallDecorationData_GetID2 = 'y.H'; //not updated

//FloorDecorationData class rv
hook_FloorDecorationData_GetID = 'z'; //not updated
hook_FloorDecorationData_GetID2 = 'm.H'; //not updated

Cstrike

2010-09-15 19:39:07

Can someone please… for once, tell me how you get hooks? If its too long, please tell me "it takes hours and hours and hours of work"
Do you run a javascript and this is all gotten for you? I tried PMing Trilez but he didn't respond.

gamer716

2010-09-15 19:55:50

From: cstrike
Can someone please… for once, tell me how you get hooks? If its too long, please tell me "it takes hours and hours and hours of work"
Do you run a javascript and this is all gotten for you? I tried PMing Trilez but he didn't respond.


yes I will like to know aswell!

MylesMadness

2010-09-15 19:57:25

Well, you run an updater which automaticly hunt for them in the runescape client. Making a updater does take hours of work, but running it takes maybe 30 seconds

pyroryan

2010-09-15 20:14:15

From: MylesMadness
Well, you run an updater which automaticly hunt for them in the runescape client. Making a updater does take hours of work, but running it takes maybe 30 seconds


Making the updater takes a while, but then you also need to invest the time needed to maintain it.

I use a BCEL updater, I know some people use ASM, which is faster, but for our purposes, the updater only needs to be fast enough for testing so either one will work.

ZephyrsFury

2010-09-15 20:32:53

Theres an updater (albeit not maintained) in the Reflection svn:

http://villavu.com/forum/showthread.php?t=57116

Cstrike

2010-09-15 21:06:14

From: ZephyrsFury
Theres an updater (albeit not maintained) in the Reflection svn:

http://villavu.com/forum/showthread.php?t=57116


Cool,

Does not maintained mean outdated in this case? Could I use it in the future to get hooks?

pyroryan

2010-09-15 21:29:12

From: cstrike
Cool,

Does not maintained mean outdated in this case? Could I use it in the future to get hooks?


Eventually it will become useless unless maintained. In the past few months, several of its hooks are broken or the updater no longer finds the correct hooks. Fortunately, this does not always occur. Also, it doesn't find all of the hooks used.
Yes you could use it, but its reliability is questionable until you've figured out what hooks it finds properly and which ones it does not.

Wyn

2010-09-15 22:07:56

Hmm. Reflection can't even find a bank booth…

Quickmarch

2010-09-16 02:18:17

Quick note: All SDViewport fields are now floats. This means TileToMS etc will have to be updated.

Sir R. M8gic1an

2010-09-16 04:29:06

From: Quickmarch
This means TileToMS etc will have to be updated.


Oh boo.

~RM

Quickmarch

2010-09-16 09:32:11

From: Sir R. Magician
Oh boo.

~RM


Oops, sorry I meant UpdateRenderInfo() needs to be updated ;). All that needs replacing is SmartGetFieldInt to SmartGetFieldFloat. :)

pyroryan

2010-09-16 21:37:26

Most hooks updated.

Coh3n

2010-09-16 22:31:42

Thanks pyro! :)

pyroryan

2010-09-16 22:48:28

From: Coh3n
Thanks pyro! :)


No problems, I just fixed up my SDToolkit stuff (and some other stuff) in my updater so if anything there isn't right, you know why…and who to blame too D:
Theres a few hooks that might have been switched (like hook_sdtoolkit_xScale and hook_sdtoolkit_yScale). Nexus ibot says one thing, rsbot says another. My updater supported rsbot for xScale and yScale but since jagex screwed around so much, I'm sticking with nexus ibot's hooks since its paid.
So until someone can confirm the correct set of hooks, I'm leaving it as is. At least its easy just to switch them :D

gamer716

2010-09-16 22:48:31

R_OpenBankBooth Broken

pyroryan

2010-09-16 22:54:30

From: Quickmarch
Quick note: All SDViewport fields are now floats. This means TileToMS etc will have to be updated.


Forgot to mention that you helped me out with the float comment :)
Thanks!

Coh3n

2010-09-16 22:56:35

From: pyroryan
No problems, I just fixed up my SDToolkit stuff (and some other stuff) in my updater so if anything there isn't right, you know why…and who to blame too D:
Theres a few hooks that might have been switched (like hook_sdtoolkit_xScale and hook_sdtoolkit_yScale). Nexus ibot says one thing, rsbot says another. My updater supported rsbot for xScale and yScale but since jagex screwed around so much, I'm sticking with nexus ibot's hooks since its paid.
So until someone can confirm the correct set of hooks, I'm leaving it as is. At least its easy just to switch them :D

Well I only use it for MSI, and it only uses the ones necessary for walking, so everything's perfect for me! :D

pyroryan

2010-09-16 23:01:59

From: Coh3n
Well I only use it for MSI, and it only uses the ones necessary for walking, so everything's perfect for me! :D


If you could list the hooks that you need, I could put them on my priority list so the hooks will be up faster since I'll fix any breaks there first.

Coh3n

2010-09-16 23:36:42

From: pyroryan
If you could list the hooks that you need, I could put them on my priority list so the hooks will be up faster since I'll fix any breaks there first.


LoginIndex (to satisfy SetupReflection();)
MyPlayer (I'm not 100% sure about this, but I think it's required)
BaseX
BaseY
PixelX
PixelY
Pretty sure that's it, thanks very much! :)

Also, I made a thread in the MSI section to show the updated hooks because some of the new users don't know where to look. If you wouldn't mind posting updated hooks on that thread when needed that would be awesome. Just if you think of it, don't stress over it. :p

TRiLeZ

2010-09-17 00:44:31

Here's TRiBot hooks:

RSBuild 619

client.getBaseX() oe.j
client.getBaseY() ar.l
client.getLoginIndex() gs.e
client.getUsername() mba.a
client.getPassword() cs.p
client.getPlane() jda.J
client.getPlanes() an.c
client.getGroundTiles() efa.yb
client.getMenuNodeList() aaa.k
client.getMenuOptionCount() fca.m
client.getIsMenuOpen() lf.i
client.getMenuX() ie.o
client.getMenuY() aa.h
client.getNpcCount() sfa.J
client.getNpcIndices() ur.r
client.getNpcNodes() sa.I
client.getMyPlayer() rr.e
client.getPlayerCount() cda.f
client.getPlayers() it.f
client.getPlayerIndices() nda.v
client.getLoopCycle() d.H
client.getSelectedObjectName() kc.z
client.getSelectedActionName() vj.u
client.getMapWidth() tba.k
client.getMapHeight() wba.a
client.getMenuHeight()
client.getMenuWidth()
client.getIsSpellSelected() ap.z
client.getSpellTarget() qj.d
client.getPlayerRights() km.y
client.getDestX() dfa.l
client.getDestY() mk.R
client.getMinimapOffset() fga.H
client.getMinimapSetting() wj.e
client.getMinimapAngle() o.H
client.getMinimapScale() ul.b
client.getValidInterfaces() ar.r
client.getInterfaces() jl.e
client.getInterfaceBoundsArray() mt.b
client.getMainToolkit() fd.n
client.getFriendsList() mq.D
client.getFriendWorlds() sd.j
client.getFPS() k.p
client.getItemDefLoader() bp.B
client.getSettings() ek.J
client.getCameraYaw() hr.f
client.getCameraPitch() eo.a
client.getItemNodeCache() hd.h
client.getGUIIndex() ih.A

settings.getSettings() ib.h

node.getNext() jca.h
node.getPrevious() jca.g
node.getID() jca.e

nodecache.getCache() wh.a

nodelistcache.getNodeList() oc.k

nodelist.getHead() wo.g

rsitem.getID() ni.n

menunode.getOption() kr.r
menunode.getAction() kr.j

groundtile.getAnimableList() se.o

animablenode.getNext() ri.a
animablenode.getAnimable() ri.d

interactiveobject1.getId() ud.ib
interactiveobject1.getModel() ud.lb

interactiveobject2.getData() qe.nb

objectdata.getId() sw.v
objectdata.getModel() sw.j

sdmodel.getPointsX() so.B
sdmodel.getPointsY() so.G
sdmodel.getPointsZ() so.C
sdmodel.getIndices1() so.ab
sdmodel.getIndices2() so.O
sdmodel.getIndices3() so.q

npcnode.getNpc() pt.i

npc.getDef() nu.fd

npcdef.getName() iv.K
npcdef.getActions() iv.tb
npcdef.getId() iv.Y
npcdef.getLevel() iv.s

animable.getLocalX() ir.y
animable.getLocalY() ir.x
animable.getPlane() ir.l

character.getAnimation() he.bc
character.getMovementSpeed() he.Wc
character.getHPRatio() he.Z
character.getHeight() he.Xb
character.getModels() he.Sc
character.getInteracting() he.Yb
character.getLoopCycleStatus() he.Lb
character.getWalkingX() he.Pc
character.getWalkingY() he.Nc
character.getCurrentWaypoint() he.Wc
character.getWalkingTypes() he.Uc

player.getName() kba.ed
player.getSkillLevel()
player.getLevel() kba.id
player.getTeam() kba.ud

interface.getParentID() wv.Q
interface.getUID() wv.Mc
interface.getChildren() wv.ac
interface.getName() wv.gc
interface.getComponentID() wv.i
interface.getContentType() wv.yb
interface.getType() wv.db
interface.getStackSize() wv.n
interface.getActions() wv.u
interface.getX() wv.A
interface.getY() wv.hc
interface.getWidth() wv.r
interface.getHeight() wv.zc
interface.getText() wv.fd
interface.getTextColor() wv.rc
interface.getBoundsArrayIndex() wv.jb
interface.getTextureID() wv.ob
interface.getIsHidden() wv.Ic
interface.getLastUpdate() wv.jd
interface.getComponentStack() wv.n

itemdef.getName() tw.J
itemdef.getStackable() tw.L

plane.getScale() i.j
plane.getXSize() i.d
plane.getYSize() i.g
plane.getZSize() i.e

sdplane.getTileHeights() i.c

sdtoolkit.getXMin() rfa.w
sdtoolkit.getXMax() rfa.F
sdtoolkit.getYMin() rfa.H
sdtoolkit.getYMax() rfa.R
sdtoolkit.getZMin() rfa.db
sdtoolkit.getZMax() rfa.ab
sdtoolkit.getXScale() rfa.M
sdtoolkit.getYScale() rfa.z
sdtoolkit.getViewport() rfa.C

sdviewport.getXOff() lu.H
sdviewport.getXX() lu.p
sdviewport.getXY() lu.i
sdviewport.getXZ() lu.l
sdviewport.getYOff() lu.n
sdviewport.getYX() lu.k
sdviewport.getYY() lu.j
sdviewport.getYZ() lu.J
sdviewport.getZOff() lu.G
sdviewport.getZX() lu.I
sdviewport.getZY() lu.m
sdviewport.getZZ() lu.F