Alright, here's the deal.

I'm trying to get certain addresses from a game memory (duh). There's no usable static addresses, and pointer scanning is a joke. It's a rabbit hole I went down once and I'm still trying to gtfo of it.

So all in all this game is a real pain in the dick to get info out of. I tried several memory reading classes I found on the net, that had pattern scanning, to no avail. They worked fine on other games, but as soon as I plugged it into this one, it derped, kept returning 0s and nulls.

I have managed to edit some of the code to get it to a somewhat working order. I have it grab a chunk of bytes from the process memory, perform a sig scan on said chunk, rinse & repeat. And while it does work, it's nut-crackingly slow. It can take up to 10 minutes to complete, and that's no good.

Next I tried dumping the memory to a file, I got a decent 2GB file and to my surprise, when I opened it up in hexedit I found all the necessary information. Surely performing an AOB scan on a local file should be somewhat faster, than on a live process.

The problem is getting the addresses from the dump file, they don't seem to match the memory of the live process. I have tried getting the base address and using that as a base address for the dump, but that didnt seem to work, it was still way off.

I forgot where I was going with this so I'll just end it here and ask directly. Is there a more efficient way to perform an AOB scan on a live process? Scanning an entire module at once perhaps. Or getting correct addresses form the dump file?

The game is Entropia Universe, given the nature of the game I expected no less from the game client. It's just a major pain in the dick to really do anything about.

If you want more info, or see the code I ever so proudly sodomized let me know. Any help is greatly appreciated, I'd love to get this working.