However, the compiled code (C/ASM) has no information at all. The biggest point I'm trying to make is that the bytecode actually has information that you can use. Because it stores this information, the reader or observer of the class can actually retrieve information about a specified type or variable or function.
It also sometimes stores the names of the functions and whatever else. It stores accessors as well (private, public, static, protected, etc). Inc (Ljava /lang / Integer ) Ljava /lang / Integer ġ : invokevirtual # 3 //Method java/lang/Integer.intValue:()IĦ : invokestatic # 4 //Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer įoo (IZI )V //Notice the arguments this time.Īnd as you can see, it actually keeps the signature of each function in a "Class file" which the JVM interprets or compiles. It's up to the preference of the bot writer, to be honest.Ġ : getstatic # 1 //Field java/lang/System.out:Ljava/io/PrintStream Ĥ : invokevirtual # 2 //Method java/io/PrintStream.println:(Ljava/lang/String )V So instead of inserting those getter methods, you can just read the code through reflection without having to bother about modifying the source code of the client sided RuneScape.īoth methods read the client side source code, and both have to use bytecode patters to be able to deobfuscate the code and figure out what all the variables are. It takes a copy of the code, and then you can do what ever you want with it. They do this for many more variables, allowing scripters to read the data and make scripts that act apon it. These getter methods simply return a variable, say you had a variable called playerName, a getter for it would be return playerName. Injection is when you add "getter" methods into the code. Typically, bots use the injection approach. The bots can use two different methods to read this code, injection, and reflection. Basically, obfuscated code is just code that's been changed by a computer to be random and un-readable by humans. These bots work by being able to read obfuscated code on the client side.
If I said something wrong, lemme know pls.Ī RuneScape bot is an automation software that can utilize third party code to simulate player actions. So yea pretty much these devs write some wizzard code that correctly returns the classes that have desired values. I have no idea how they get the multipliers for these things but the hook for player position would look like "as.d" * somelongnumber Some of these values you have to multiply (such as animation) to get the correct value. So the hook for player animation would be "as.d".
The class "as" contains the variable "d". Anyway: Hooks have to be updated because these classes change therfor you would no longer be getting the correct value. These classes are pretty much a shatstorm of randoms names those and are very hard to read(done on purpose).
All of the classes contain values like position, animation, objects, NPCs and all that and the bot pretty much reads them via hooks. jar format and extract it and then use a java decompiler to see all of the classes. If u want add my msn and tell me what acc u have and what u have on itK so Reflection and injections need to access client variables to run. Hi,i have few good conquer accs and i will trade 1 of them for a good member runescape acc 100+ wich means have 5m on it and good stuff. Im looking to trade for a level 100-110+? runescape account with a good amount of cash to get started on. Both have amazing stats, and AP items too. Hey I have a very good Shaiya account which has a level 47 NM Mage.Īnd a very powerful and strong pker lvl 56 HM fighter. Trading good Shaiya account for Good runescape account I buy Runescape account lvl 90+ whit very good strengt ore good ranged