SRL Archive - Client Hacking

#624


pyroryan

2010-10-18 15:02:20

6 new hooks for simba (SDModel).
I'm slowly fixing my breaks but this is what I have so far.


{**
* 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 = 624;

{Static Hooks}
hook_static_LoginIndex = 'aea.f'; //624
hook_static_MyPlayer = 'gg.F'; //624
hook_static_BaseX = 'jga.z'; //624
hook_static_BaseY = 'ga.q'; //624
hook_static_NPCIndexArray = 'av.n'; //624
hook_static_NPCNodes = 'wr.Y'; //624
hook_static_NPCCount = 'fe.b'; //624
hook_static_GroundSettingsArray = 'kea.O'; //624
hook_static_LoadedPlane = 'nj.y'; //624
hook_static_PlaneArray = 'jv.b'; //624
hook_static_Toolkit = 'bg.b'; //624
hook_static_MapAngle = 'hg.F'; //624
hook_static_DestX = 'or.t'; //624
hook_static_DestY = 'iq.Z'; //624
hook_static_MenuOptionCount = 'or.A'; //624
hook_static_MenuX = 'wu.p'; //624
hook_static_MenuY = 'rw.m'; //624
hook_static_MenuOpen = 'efa.p'; //624
hook_static_MenuNodeList = 'wu.o'; //624
hook_static_LoopCycle = 'ls.i'; //624
hook_static_PlayerCount = 'cca.P'; //624
hook_static_PlayerIndexArray = 'r.g'; //624
hook_static_GetPlayers = 'rda.f'; //624
hook_static_GetSkillLevels = 'iw.I'; //624
hook_static_GetSkillExperiences = 'kq.c'; //624
hook_static_GroundTiles = 'vw.q'; //624
hook_static_GetInterfaces = 'uk.k'; //624
hook_static_ValidInterfaces = 'gn.b'; //624
hook_static_GetSettings = 'uc.h'; //624
hook_static_GroundItemCache = 'ao.d'; //624
hook_static_CamPosX = 'uj.g'; //624
hook_static_CamPosY = 'eca.w'; //624

{Class Animable}
class_Animable = 'vj'; //624
hook_animable_PixelX = 'h'; //624
hook_animable_PixelY = 'g'; //624
hook_animable_Plane = 'k'; //624

{Class Player}
class_Player = 'hw'; //624
hook_player_GetLevel = 'Vc'; //624
hook_player_GetName = 'fd'; //624
hook_player_PlayerDef = 'Yc'; //624
hook_player_GetTeam = 'dd'; //624

{Class Character}
class_Character = 'ufa'; //624
hook_character_GetHitDamges = 'tb'; //check?-624
hook_character_Animation = 'bb'; //624
hook_character_Motion = 'Ec'; //624
hook_character_WalkQueueX = 'Gc'; //624
hook_character_WalkQueueY = 'Lc'; //624
hook_character_GetHeight = 'sc'; //624
hook_character_LoopCycleStatus = 'nc'; //624
hook_character_HPRatio = 'Bb'; //624
hook_character_GetInteracting = 'mc'; //624
hook_character_Orientation = 'zb'; //624

{Class NPC}
class_NPC = 'd'; //624
hook_npc_NPCDef = 'cd'; //624

{Class NPCDef}
class_NPCDef = 'ce'; //624
hook_npcdef_GetActions = 'E'; //624
hook_npcdef_GetName = 'N'; //624
hook_npcdef_GetLevel = 'wb'; //624
hook_npcdef_GetID = 'h'; //624

{Class NPCNode}
class_NPCNode = 'lj'; //624
hook_npcnode_GetNPC = 'r'; //624

{Class GroundTile}
class_GroundTile = 'ko'; //624

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

{Class RSInteractable}
class_RSInteractable = 'fh'; //624

{Class Toolkit}
class_Toolkit = 'r'; //624

{Class Viewport}
class_Viewport = 'q'; //624

{Class SDViewport}
class_SDViewport = 'jw'; //624
hook_sdviewport_xOff = 'G'; //624
hook_sdviewport_xX = 'B'; //624
hook_sdviewport_xY = 'j'; //624
hook_sdviewport_xZ = 'p'; //624
hook_sdviewport_yOff = 'f'; //624
hook_sdviewport_yX = 'I'; //624
hook_sdviewport_yY = 'H'; //624
hook_sdviewport_yZ = 'n'; //624
hook_sdviewport_zOff = 'F'; //624
hook_sdviewport_zX = 'j'; //624
hook_sdviewport_zY = 'z'; //624
hook_sdviewport_zZ = 'i'; //624

{Class SDToolkit}
class_SDToolkit = 've'; //624
hook_sdtoolkit_xMin = 'P'; //624
hook_sdtoolkit_xMax = 'G'; //624
hook_sdtoolkit_yMin = 'bb'; //624
hook_sdtoolkit_yMax = 'db'; //624
hook_sdtoolkit_zMin = 'N'; //624
hook_sdtoolkit_zMax = 'U'; //624
hook_sdtoolkit_xScale = 'X'; //624
hook_sdtoolkit_yScale = 'J'; //624
hook_sdtoolkit_Viewport = 'Q'; //624

{Class SDModel}
class_SDModel = 'jba'; //624
hook_sdmodel_getIndices1 = 'p'; //624
hook_sdmodel_getIndices2 = 'jb'; //624
hook_sdmodel_getIndices3 = 'r'; //624
hook_sdmodel_getPointsX = 'Cb'; //624
hook_sdmodel_getPointsY = 'Jb'; //624
hook_sdmodel_getPointsZ = 'Ub'; //624

{Class SDPlane}
class_SDPlane = 'i'; //624
hook_sdplane_TileHeights = 'k'; //624

{Class NodeList}
class_NodeList = 'au'; //624
hook_nodelist_Current = 't'; //624
hook_nodelist_Head = 'e'; //624

{Class Node}
class_Node = 'tv'; //624
hook_node_Next = 'g'; //624
hook_node_Previous = 'f'; //624
hook_node_GetID = 'm'; //624

{Class Menu}
class_Menu = 'od'; //624
hook_menu_Action = 't'; //624
hook_menu_Option = 'A'; //624

{Class PlayerDef}
class_PlayerDef = 'lw'; //624
hook_playerdef_GetEquipment = 'm'; //624

{Class AnimableNode}
class_AnimableNode = 'lba'; //624
hook_AnimableNode_GetAnimable = 'h'; //624
hook_AnimableNode_GetNext = 'a'; //624

{Class ObjectInterface}
class_ObjectInterface = 'is'; //624
hook_interface_GetActions = 'bd'; //624
hook_interface_GetX = 'Ub'; //624
hook_interface_GetY = 'ac'; //624
hook_interface_GetWidth = 'pc'; //624
hook_interface_GetHeight = 'kd'; //624
hook_interface_GetText = 'Yc'; //624
hook_interface_GetTextureID = 'Nc'; //624
hook_interface_GetTextColor = 'Tb'; //624
hook_interface_GetModelID = 'jc'; //624
hook_interface_GetModelZoom = 'Ec'; //624
hook_interface_GetName = 'kc'; //624
hook_interface_GetChildren = 'Pb'; //624
hook_interface_GetID = 'Cb'; //624 //actually GetComponentID/GetItemID we need to change this
hook_interface_GetStack = 'e'; //624
hook_interfaces_GetParentID = 'cb'; //624
hook_interfaces_IsHidden = 'ab'; //624


{Class Ground}
class_Ground = 'ko'; //624
hook_ground_AnimableList = 'o'; //624
hook_ground_WallObject1 = 'm'; //624
hook_ground_WallObject2 = 'i'; //624
hook_ground_WallDecoration1 = 'h'; //624
hook_ground_WallDecoration2 = 'k'; //624
hook_ground_FloorDecoration = 'b'; //624

{Class NodeCache}
class_NodeCache_GetNodes = 'mo'; //624
hook_nodecache_GetNodes = 'o'; //624

{Class Item}
class_Item = 'fn'; //624
hook_item_GetID = 't'; //624
hook_item_GetStack = 'u'; //624

{Class NodeListCache}
class_NodeListCache = 'mw'; //624
hook_nodelistcache_GetNodeList = 'u'; //624

{Class SettingArray}
class_SettingArray = 'ka'; //624
hook_settingarray_GetData = 'c'; //624

{
/////////////// 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 and pyroryan.)

{Class InteractiveObject}
class_InteractiveObject = 'kh'; //624
hook_interactiveobject_GetID = 'W'; //624
hook_interactiveobject_GetModel = 'H'; //624

{Class InteractiveObject2}
class_InteractiveObject2 = 'jea'; //624
hook_interactiveobject2_GetObjectData = 'S'; //624
//hook_interactiveobject_GetID2 = 'w.H'; //not updated

{Class SecondLevelObject}
class_SecondLevelObject = 'bba'; //624
hook_secondlevelobject_GetID = 'b'; //624

//WallObjectData, WallDecorationData, FloorDecorationData updated -pyroryan
{Class WallObjectData}
class_WallObjectData = 'ie'; //624
hook_WallObjectData_GetID = 'L'; //624
hook_WallObjectData_GetModel = 'N'; //624
hook_WallObjectData_GetOrientation = 'P'; //624
hook_WallObjectData_GetID2 = 'D.H'; //not updated

{Class WallDecorationData}
class_WallDecorationData = 'gk'; //624
hook_WallDecorationData_GetID = 'U'; //624
hook_WallDecorationData_GetModel = 'W'; //624
hook_WallDecorationData_GetOrientation = 'I'; //624
hook_WallDecorationData_GetID2 = 'y.H'; //not updated

{Class FloorDecorationData}
class_FloorDecorationData = 'nb'; //624
hook_FloorDecorationData_GetID = 'db'; //624
hook_FloorDecorationData_GetModel = 'S'; //624
hook_FloorDecorationData_GetOrientation = 'G'; //624
hook_FloorDecorationData_GetID2 = 'm.H'; //not updated

Quickmarch

2010-10-18 15:29:34


# Hooks for #624
* (wr implements GroundItem with 2 hooks)
* Quantity : field wr.V I
* ObjectID : field wr.C I

* (hw implements Player with 4 hooks)
* Displayname : field hw.fd Ljava/lang/String;
* PlayerDef : field hw.Yc Llw;
* Username : field hw.gd Ljava/lang/String;
* CombatLevel : field hw.Vc I

* (pw implements KeyListener)

* (lba implements AnimableList with 2 hooks)
* NextNode : field lba.a Llba;
* CurrentNode : field lba.h Lat;

* (i implements Plane with 1 hooks)
* TileHeights : field i.k [[I

* (du implements MouseListener)

* (vj implements Decoration)

* (vj implements Mobile with 3 hooks)
* Plane : field vj.k B
* PlaneY : field vj.g I
* PlaneX : field vj.h I

* (hc implements ChatMessage with 2 hooks)
* Message : field hc.f Ljava/lang/String;
* Username : field hc.g Ljava/lang/String;

* (client implements Client with 37 hooks)
* BaseY : static field ga.q I
* MenuHeight : static field na.d I
* FriendCount : static field kga.j I
* FriendWorlds : static field sb.r [I
* CachedInterfaces : static field uk.k [[Lis;
* SkillMaxLevels : static field rm.U [I
* PlayerIndexArray : static field r.g [I
* BaseX : static field jga.z I
* MenuNodes : static field wu.o Lau;
* SkillCurrentLevels : static field iw.I [I
* NPCArray : static field wr.Y [Llj;
* CurrentPlane : static field nj.y I
* FriendNames : static field di.g [Ljava/lang/String;
* NPCIndexArray : static field av.n [I
* MenuOpen : static field client.ob Z
* GroundTiles : static field vw.q [[[Lko;
* GroundData : static field kea.O [[[B
* ChatMessages : static field wl.x [Lhc;
* PlayerArray : static field rda.f [Lhw;
* LoadedPlanes : static field jv.b [Li;
* NPCCount : static field fe.b I
* PlayerCount : static field cca.P I
* DestY : static field iq.Z I
* DestX : static field or.t I
* IgnoredCount : static field wea.c I
* MouseHandler : static field lfa.a Ldu;
* MenuY : static field rw.m I
* CompassAngle : static field nk.Eb I
* MenuX : static field wu.p I
* CurrentToolkit : static field bg.b Lr;
* MenuWidth : static field lp.h I
* KeyboardHandler : static field bfa.c Lpw;
* LoginIndex : static field aea.f I
* MenuOptionCount : static field or.A I
* MyPlayer : static field gg.F Lhw;
* IgnoredPlayers : static field fv.m [Ljava/lang/String;
* SkillExperiences : static field kq.c [I

* (jea implements MobileDecoration2)

* (kh implements MobileDecoration1 with 1 hooks)
* ObjectID : field kh.W S

* (jw implements SDViewport with 12 hooks)
* zY : field jw.z F
* xZ : field jw.p F
* zX : field jw.J F
* xY : field jw.j F
* xX : field jw.B F
* zZ : field jw.i F
* yX : field jw.I F
* OffsetX : field jw.G F
* yY : field jw.H F
* OffsetY : field jw.f F
* yZ : field jw.n F
* OffsetZ : field jw.F F

* (d implements NPC with 1 hooks)
* Def : field d.cd Lce;

* (lj implements NPCNode with 1 hooks)
* NPC : field lj.r Ld;

* (ufa implements Character with 7 hooks)
* VisibleMessage : field ufa.G Ljava/lang/String;
* InteractingID : field ufa.mc I
* Animation : field ufa.bb I
* IsNtMoving : field ufa.J Z
* MotionSpeed : field ufa.Ec I
* Height : field ufa.sc I
* Rotation : field ufa.zb I

* (at implements MobileDecoration)

* (is implements Interface with 6 hooks)
* Caption : field is.Yc Ljava/lang/String;
* Height : field is.kd I
* Width : field is.pc I
* Children : field is.Pb [Lis;
* Y : field is.ac I
* X : field is.Ub I

* (ve implements SDToolkit with 9 hooks)
* InternalViewport : field ve.Q Ljw;
* MinZ : field ve.N I
* MinY : field ve.bb I
* MinX : field ve.P I
* MaxZ : field ve.U I
* MaxY : field ve.db I
* ScaleX : field ve.X I
* MaxX : field ve.G I
* ScaleY : field ve.J I

* (ko implements Tile with 2 hooks)
* GroundItem : field ko.g Lkj;
* AnimableList : field ko.o Llba;

* (ce implements NPCDef with 2 hooks)
* Name : field ce.N Ljava/lang/String;
* Actions : field ce.E [Ljava/lang/String;

* (tv implements Node with 3 hooks)
* Next : field tv.f Ltv;
* Previous : field tv.g Ltv;
* ID : field tv.m J

* (od implements OptionNode with 3 hooks)
* Action : field od.A Ljava/lang/String;
* Option : field od.t Ljava/lang/String;
* CommandID : field od.v I

* (kj implements AbstractGroundItem)

* (r implements GraphicsToolkit)

* (au implements NodeList with 2 hooks)
* Head : field au.e Ltv;
* Current : field au.t Ltv;

# Found a sum of 100 hooks

No breaks.

Naike

2010-10-18 15:38:20

From: Quickmarch

# Hooks for #624
* (wr implements GroundItem with 2 hooks)
* Quantity : field wr.V I
* ObjectID : field wr.C I

* (hw implements Player with 4 hooks)
* Displayname : field hw.fd Ljava/lang/String;
* PlayerDef : field hw.Yc Llw;
* Username : field hw.gd Ljava/lang/String;
* CombatLevel : field hw.Vc I

* (pw implements KeyListener)

* (lba implements AnimableList with 2 hooks)
* NextNode : field lba.a Llba;
* CurrentNode : field lba.h Lat;

* (i implements Plane with 1 hooks)
* TileHeights : field i.k [[I

* (du implements MouseListener)

* (vj implements Decoration)

* (vj implements Mobile with 3 hooks)
* Plane : field vj.k B
* PlaneY : field vj.g I
* PlaneX : field vj.h I

* (hc implements ChatMessage with 2 hooks)
* Message : field hc.f Ljava/lang/String;
* Username : field hc.g Ljava/lang/String;

* (client implements Client with 37 hooks)
* BaseY : static field ga.q I
* MenuHeight : static field na.d I
* FriendCount : static field kga.j I
* FriendWorlds : static field sb.r [I
* CachedInterfaces : static field uk.k [[Lis;
* SkillMaxLevels : static field rm.U [I
* PlayerIndexArray : static field r.g [I
* BaseX : static field jga.z I
* MenuNodes : static field wu.o Lau;
* SkillCurrentLevels : static field iw.I [I
* NPCArray : static field wr.Y [Llj;
* CurrentPlane : static field nj.y I
* FriendNames : static field di.g [Ljava/lang/String;
* NPCIndexArray : static field av.n [I
* MenuOpen : static field client.ob Z
* GroundTiles : static field vw.q [[[Lko;
* GroundData : static field kea.O [[[B
* ChatMessages : static field wl.x [Lhc;
* PlayerArray : static field rda.f [Lhw;
* LoadedPlanes : static field jv.b [Li;
* NPCCount : static field fe.b I
* PlayerCount : static field cca.P I
* DestY : static field iq.Z I
* DestX : static field or.t I
* IgnoredCount : static field wea.c I
* MouseHandler : static field lfa.a Ldu;
* MenuY : static field rw.m I
* CompassAngle : static field nk.Eb I
* MenuX : static field wu.p I
* CurrentToolkit : static field bg.b Lr;
* MenuWidth : static field lp.h I
* KeyboardHandler : static field bfa.c Lpw;
* LoginIndex : static field aea.f I
* MenuOptionCount : static field or.A I
* MyPlayer : static field gg.F Lhw;
* IgnoredPlayers : static field fv.m [Ljava/lang/String;
* SkillExperiences : static field kq.c [I

* (jea implements MobileDecoration2)

* (kh implements MobileDecoration1 with 1 hooks)
* ObjectID : field kh.W S

* (jw implements SDViewport with 12 hooks)
* zY : field jw.z F
* xZ : field jw.p F
* zX : field jw.J F
* xY : field jw.j F
* xX : field jw.B F
* zZ : field jw.i F
* yX : field jw.I F
* OffsetX : field jw.G F
* yY : field jw.H F
* OffsetY : field jw.f F
* yZ : field jw.n F
* OffsetZ : field jw.F F

* (d implements NPC with 1 hooks)
* Def : field d.cd Lce;

* (lj implements NPCNode with 1 hooks)
* NPC : field lj.r Ld;

* (ufa implements Character with 7 hooks)
* VisibleMessage : field ufa.G Ljava/lang/String;
* InteractingID : field ufa.mc I
* Animation : field ufa.bb I
* IsNtMoving : field ufa.J Z
* MotionSpeed : field ufa.Ec I
* Height : field ufa.sc I
* Rotation : field ufa.zb I

* (at implements MobileDecoration)

* (is implements Interface with 6 hooks)
* Caption : field is.Yc Ljava/lang/String;
* Height : field is.kd I
* Width : field is.pc I
* Children : field is.Pb [Lis;
* Y : field is.ac I
* X : field is.Ub I

* (ve implements SDToolkit with 9 hooks)
* InternalViewport : field ve.Q Ljw;
* MinZ : field ve.N I
* MinY : field ve.bb I
* MinX : field ve.P I
* MaxZ : field ve.U I
* MaxY : field ve.db I
* ScaleX : field ve.X I
* MaxX : field ve.G I
* ScaleY : field ve.J I

* (ko implements Tile with 2 hooks)
* GroundItem : field ko.g Lkj;
* AnimableList : field ko.o Llba;

* (ce implements NPCDef with 2 hooks)
* Name : field ce.N Ljava/lang/String;
* Actions : field ce.E [Ljava/lang/String;

* (tv implements Node with 3 hooks)
* Next : field tv.f Ltv;
* Previous : field tv.g Ltv;
* ID : field tv.m J

* (od implements OptionNode with 3 hooks)
* Action : field od.A Ljava/lang/String;
* Option : field od.t Ljava/lang/String;
* CommandID : field od.v I

* (kj implements AbstractGroundItem)

* (r implements GraphicsToolkit)

* (au implements NodeList with 2 hooks)
* Head : field au.e Ltv;
* Current : field au.t Ltv;

# Found a sum of 100 hooks

No breaks.


Do you have a updater?
I haven't seen this from you before :)
Nice mate :redface:

Cstrike

2010-10-18 15:49:58

Thank you guys for the hard work/quick update :)

BTW what is a 'break'?

Camaro'

2010-10-18 15:55:22

From: cstrike
Thank you guys for the hard work/quick update :)

BTW what is a 'break'?


Edit: Ninja'd

When the pattern used to find the hook, breaks. Making it either find a wrong field of just find nothing.

Quickmarch

2010-10-18 15:55:22

From: Naike
Do you have a updater?
I haven't seen this from you before :)
Nice mate :redface:


Meh, just decided to post for once lol.

From: cstrike
BTW what is a 'break'?


A break is when a pattern fails to identify a field.

Naike

2010-10-18 16:05:08

From: Quickmarch
Meh, just decided to post for once lol.


Please continue to post? :wub:

pyroryan

2010-10-18 16:10:50

From: Quickmarch
Meh, just decided to post for once lol.


Keep posting!
I like being able to verify stuff.

Edit: That should be all of the hooks.