A lot of people are looking at OpenGl bots and have no clear idea what they are or how they work. Since OpenGl represents an excellent alternative to color bots I thought I would write about exactly how one would, in theory, work. The basic concept hasn't really changed, like Java bots OpenGl bots will also use hooking, but instead of directly hooking the client they will intercept function calls passed to the the graphics renderer its self.
Before I continue it's probably necessary that you understand some basic terms.
OpenGl: is basically a giant library of functions that developers can use to render complex 2d and 3d objects. (It just so happens runescape uses OpenGl as one of its options.)
Hooking: Is a method of intercepting function calls, really any information, between applications. There are hundreds of ways to do it some easier than others.
So now that you have the basics it is pretty easy to guess how an OpenGl bot would work. The first step would be to hook certain critical functions that would be used for determining model shape and size. Hooking these functions is usually done in assembly language. Assembly is arguably the lowest level, humanly understandable programming language. Any lower you will be dealing with HEX/Binary code which would be next to impossible to work with practically. Once you have hooked those functions you now have access to the exact dimensions/viewpoint of anything rendered using OpenGl.
The second part of writing a bot that uses OpenGl bot would involve matching every model size to a particular item/object. This is would require a ton of time and a lot of people working on this project. With both of these implemented the bot now knows everything it needs to know in order to identify the environment around it.
The last step would be writing a friendly API for scripters to use. A good bot will allow give scripters a powerful set of functions to use which makes it infinitely easier in writing a good script.
OpenGl will have many advantages over BCEL and Reflection. The biggest one of these is that it will rarely have to update. In fact the only time that the bot would need to update is when OpenGl itself updates or Jagex decides to change up the models/sprites in game.
I am really interested in seeing where this is going please leave your comments below...
Before I continue it's probably necessary that you understand some basic terms.
OpenGl: is basically a giant library of functions that developers can use to render complex 2d and 3d objects. (It just so happens runescape uses OpenGl as one of its options.)
Hooking: Is a method of intercepting function calls, really any information, between applications. There are hundreds of ways to do it some easier than others.
So now that you have the basics it is pretty easy to guess how an OpenGl bot would work. The first step would be to hook certain critical functions that would be used for determining model shape and size. Hooking these functions is usually done in assembly language. Assembly is arguably the lowest level, humanly understandable programming language. Any lower you will be dealing with HEX/Binary code which would be next to impossible to work with practically. Once you have hooked those functions you now have access to the exact dimensions/viewpoint of anything rendered using OpenGl.
The second part of writing a bot that uses OpenGl bot would involve matching every model size to a particular item/object. This is would require a ton of time and a lot of people working on this project. With both of these implemented the bot now knows everything it needs to know in order to identify the environment around it.
The last step would be writing a friendly API for scripters to use. A good bot will allow give scripters a powerful set of functions to use which makes it infinitely easier in writing a good script.
OpenGl will have many advantages over BCEL and Reflection. The biggest one of these is that it will rarely have to update. In fact the only time that the bot would need to update is when OpenGl itself updates or Jagex decides to change up the models/sprites in game.
I am really interested in seeing where this is going please leave your comments below...


















