Just wanna share this to you guys a multipointer scanner..
Code:
int zPtrAdd(int baseaddr, int pLevel, int offset[])
{
int Address = baseaddr;
for (int i = 0; i < pLevel; i++)
{
ReadProcessMemory(hProcess, (LPCVOID)Address, &Address, 4, NULL);
Address += offset[i];
}
return Address;
}
baseaddr = base address (From CE)
pLevel = pointer Level like level 1 or 2 or 3 pointer..
offsets = offsets of your current data.
example:
zBaseAdd = 0x0123456
int offs[] = {0x01,0x02,0x03,0x04}
DWORD ReturnAddress = zPtrAdd(zBaseAdd, sizeof(offs),offs);
if you want to get the value of the Returned address in float/int or whatever then,
float value = *(float*)ReturnAddress;
~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- XKhen