| View previous topic :: View next topic |
| Author |
Message |
Bakes How do I cheat?
Reputation: 0
Joined: 09 Feb 2012 Posts: 3
|
Posted: Thu Feb 09, 2012 9:45 am Post subject: Searching for opcodes? C# |
|
|
Hi. Yes i am new here....
however i come seeking advice.
i would like to know in what the best possible way of obtaining memory addresses given the basis that the memory addresses have no 'pointers' and change position each time the game is ran.
i've been studying the game for a few years now and have developed many hacks for it before, however i have taken different approaches BCEL, packet modifications, etc...
i do not wish to disclose too much information about the game but i will say...
i have worked around this problem to the best of my ability by searching all addresses and comparing them to their previous ones to determine whether they represent the data that i am looking for, and so far this has worked however...
now the values i'm looking for lie within the opengl.dll in my case as i am running nvidia drivers that would be nvoglv32.dll
I manage to find 'static' references to individual memory addresses that go as:
"[DRVPRESENTBUFFER+3b10ce1f]"
but i realize that the value of DRVPRESENTBUFFER will be different depending on the system environment the application is running on.
i know the specific opcodes of the addresses i am looking for, and the memory addresses are assigned as per above.
I am wondering, what would be the best way to locate these addresses?
|
|
| Back to top |
|
 |
atom0s Moderator
Reputation: 205
Joined: 25 Jan 2006 Posts: 8587 Location: 127.0.0.1
|
|
| Back to top |
|
 |
Bakes How do I cheat?
Reputation: 0
Joined: 09 Feb 2012 Posts: 3
|
Posted: Thu Feb 09, 2012 10:31 am Post subject: |
|
|
i appreciate the quick reply however.
i am not sure that i can apply such a method to my byte array analysis. right now it only takes 6 seconds to scan through a few hundred million addresses for the pattern.
basically the map is stored in memory as a byte ranging from 0 -> 24 denoting tile type. each memory address corresponds to an x/y value of the map relative to the players position. this is not hard to compute as initial analysis of the data struct appears to be 40k, so that would mean a 200*200 grid. it's not really a true pattern, but only certain tiles mesh together, so knowing this you can create a grid and search for the bytes and corresponding bytes of that grid and if all is set to go then we've located the memory region.
i am not having problems with the above...
now i am moving on to locating the players real X/Y coordinates... as i have developed a method for speedhacking. I am just attempting to wrap it all up nicely for a small group of friends of mine.
I can individually find the value of DRVPRESENTBUFFER per computer but i believe that it's impractical to require my mates to do the same thing...considering we're separated by thousands of miles it makes it difficult to provide assistance.
it's interesting because even though lets say...
"[DRVPRESENTBUFFER+3b10ce1f]"
points to an address.... that address is just instructions on where to find the real address. and due to java garbage collection and whatother shiznits are going on the real address changes every 5 minutes or so; this doesn't really pose a problem programatically, however obtaining the value of drvpresentbuffer's does.
is anyone following what i'm saying? i'm trying to be obscure but with as much clarity as i can manifest.
maybe in the morning when i wake up i might post the instructions listed for the generation of the value of the above, in a paste bin, and perhaps someone could help me step through it and understand exactly what is happening.
|
|
| Back to top |
|
 |
|