But I had a shortcut as I knew that in OSRS there is a chat command called ::renderself which you can use to toggle the rendering of your own character, which I figured would be a good place to start in this case. When starting to reverse engineer a new game and wanting to find player objects, the most common place to start is often memory scanning the game for player related data and using memory breakpoints to find out where the data is written or accessed using tools like ReClass or Cheat Engine.
Osrs binary used in this analysis Where to start? I will be going through the process thoroughly step-by-step as I want to keep this post very accessible to even those who have no reverse engineering or game hacking background and I will mostly show the decompiler output rather than trying to explain the assembly.Ĭontents of this blog are based on the build of osclient.exe
Osrs runeloader client commands series#
In this first part of my blog series on reverse engineering this game, I will be going through finding the local player, the player list and the NPC list. I would also like to point out that I have no previous experience with the game and its client code, so some of the things I do may be done weird or might seem obvious to a more veteran RuneScape hackers. Here’s where I try to come in, since obviously none of the Java based third party clients would work for the new C++ version on Steam I figured maybe there would be some demand for some kind of an alternative for the Steam version.ĭue to the nature of my goals I will not be reverse engineering or posting any analysis of the bot detection systems or mouse heuristics recording if they are there. These are simple examples but should give you an idea of what the clients look to do. Third party clients are designed to bring a lot of Quality of Life improvements to the game by making UI additions that often present the game data better for example displaying the names of items on the ground to highlight good drops or overlaying the names of friends and clan chat members. The use of third party clients such as RuneLite is very popular in Old School RuneScape, some even say it’s necessary to use them to enjoy the game though I disagree with this personally. With the release of the Steam version of Old School RuneScape, the game client was ported from its old Java version to a native C++ version so I figured what’s a better time to start looking in to reverse engineering the game.