Fear3d How do I cheat?
Reputation: 0
Joined: 27 Feb 2021 Posts: 6
|
Posted: Fri Mar 12, 2021 6:45 am Post subject: |
|
|
AOB and pointerscan are two completely different things. "AOB" stands for "array of bytes", and it basically just refers to multiple bytes grouped together. For example, this is an array of bytes:
2F FF AA 01 00 32 44 55
Calling it an "AOB" just means that those 8 values will always be right next to each other, in that exact order. You can do an AOB scan, or you can do a pointer scan, but you don't usually combine the two. When you do an AOB scan, it literally just means that you're scanning for the specified array of bytes. So if I do an AOB scan for "2F FF AA 01 00 32 44 55", it will tell me all the memory locations where you can find those 8 bytes in that exact order.
The reason this can be useful is because, a lot of the time, the value that you need (such as your player's hp, mana, etc) will always appear near some bytes that don't change. That probably doesn't make sense, so let me give you a random example:
Imagine that you scanned and found the address for your character's gold. And then you look in the memory browser and you see this (pretend that the green digits are the value for your gold, and the black values are just the neighboring bytes in memory):
0F 34 00 FF 27 51 00 00 11 A7 AA BB 00 00 FF 0F
Now imagine that you restarted the game and scanned and found your gold a few more times, and you noticed that those black bytes, in memory, are the same every single time. If those bytes never change, and only the green bytes (your gold value) change, then you can use the black bytes to help you find the memory location of the green bytes. And that is where an AOB scan comes in handy.
You can replace the bytes that *do* change (a.k.a. your gold) with wildcards (CE uses a ? for wildcards), and then search for the entire array of bytes. So in the example above, you could search for:
0F 34 00 FF ?? ?? ?? ?? 11 A7 AA BB 00 00 FF 0F
And you would get much more narrow results than you would if you were to just search for the gold value by itself. You might even get just one result, in which case, all you would have to do to get the address for your character's gold is add 4 to the address that the AOB scan gave you. The reason you add 4 is because there are 4 black bytes in front of the green bytes, and we're not interested in the black bytes, so we add 4 to skip to where the green bytes are. The value we added (4) is known as an "offset".
And that's basically the essence of how AOB scans work. But that was just a simplified example. In actual practice, you would likely need a longer AOB, and you would likely need to add more wildcards (?) because not *all* of the surrounding bytes would actually be the same every time. And usually people would use the AOB scan to find the start of the data structure that is relevant to the value they need, instead of just at a random place. But in any case, if you manage to get a functional AOB signature to scan with, then you can write a script that does an AOB scan, and you don't need a pointer, because the AOB scan will find the right memory address every time. The benefit to using an AOB scan, instead of a pointer, is that it can often still find the correct value even if the game gets updated. Whereas a major update might break your pointers.
On the other hand, a pointer scan is something completely different. It doesn't use an AOB. Instead it searches for a static address that contains the address of the value that you're looking for. The pointer scanner might be a little easier than AOB scanning, for someone who doesn't really understand these concepts, because it doesn't really require you to know what you're doing... you just gotta click some buttons and it'll work for you.
I'm not going to explain how to use the pointer scanner, because I'm not authorized to post pictures yet (due to my low post count), and because there are already plenty other guides on this forum that explain exactly how to do it. If you want to learn how to do AOB scanning, or pointer scans, I would recommend that you look in the tutorial section of the forum and find Rydian's topic titled "Guides: Pointer Scanner + Injection Copies + AOB To Data" and read that post. It explains how to do all this stuff. The pictures are all expired, but if you check page 5, somebody posted an archive link where you can find the complete post with pictures.
But to answer your question (If I understood your correctly), the pointer scanner should always lead you to a static address. If it's not, then either you're not using the pointer scanner correctly, or you need to increase the scanning depth or something.
|
|