Hi,
For the source code, I suggest you to read that post if you would like to compile it :
http://www.ownedcore.com/forums/mmo/...alerter-5.html ([Source] Basic Item Alerter)
I provide some explanation of how I detect the zoom adress :
- "MemProc" dumps the entire memory of the process LeagueOfLegends.exe (it's however possible to reduce the search to the memory owned by "League Of Legends" process)
- It searches for the references of that kind of chunks of memory :
Code:
char *mask =
"?????xxx???????x?xx??x?x?x?x???x?x?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?xxxxxxxxx?xxxxxxxxx?xxxxxxxxx?xxx"
"xxxxxx?xxxxxxxxx?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
unsigned char *pattern =
"\x00\x00\x60\x42\x01\x00\x00\x00\x0A\x0B\xFF\xFF\x58\x0B\xC5\x01\xFF\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x13\xFF\x00\x13\xFF\x00\x13\xFF\x00\x13"
"\xFF\x00\x13\xFF\x00\x13\xFF\x00\x13\xFF\x00\x13\xFF\x00\x13\xFF\x00\x13"
"\xFF\x00\x13\xFF\x00\x13\xFF\x00\x13\xFF\x00\x13\xFF\x00\x13\xFF\x00\x13"
"\xFF\x00\x13\xFF\x00\x13\xFF\x00\x13\xFF\x00\x00";
It is apparently a structure that repeats multiple times in the memory.
The structure looks like that :
Code:
typedef struct Block
{
float val;
unsigned int is_something; // (boolean)
unsigned int unknown1;
void *ptr_to_some_shaders;
unsigned char data[260-16];
} LoLBlock;
All I have to do is to retrieve all this kind of structures, and look for the one which value is "2250.0" by default. (the Max Zoom value by default)
The adress of this value is static, so I can store it in a file and use it again without searching it everytime.