Mmh...i don't want to release my source-code just yet, so ill describe the basic way to do it. with a bit of effort you should be able to code it yourself then.
1.) You have to have you current adresses. As example, lets take Health from BO, which is currently at $01BDE65C.
2.) Then estimate a good range in the ram, that you could search in. In this case, scanning the area from $01B00000 to $01C0000 should be enough, it should never be out of that range.
3.) Read the complete Memory of this specified area, storing it in e.g. a String-Variable
4.) Now you only have to scan for a pattern, which you can estimate by the following way:
You run the game, look up your adress in CE, and the surrounding Memory. In this case, you will find something like the following: 0000000000640000000000000064
The 64 is hexadezimal for 100, the value of health. Now, as there are no parts changing in this pattern, you can just search for it. There you go
