Moderators: g3nuin3, SpeedWing, WhiteHat, mezzo
unsigned char memory[SIZE_OF_STRUCT];
unsigned char memory2[SIZE_OF_STRUCT];
UINT_PTR tmp;
int i;
tmp = beginning;
for(i=0;i<SIZE_OF_STRUCT;i++)
{
if(!ReadProcessMemory(hProcess, (LPVOID)tmp, &memory[i], sizeof(memory[i]), NULL))
ErrorExit(TEXT("compare_memory"));
tmp += sizeof(memory[i]);
}
tmp = beginning2;
for(i=0;i<SIZE_OF_STRUCT;i++)
{
if(!ReadProcessMemory(hProcess, (LPVOID)tmp, &memory2[i], sizeof(memory2[i]), NULL))
ErrorExit(TEXT("compare_memory"));
tmp += sizeof(memory2[i]);
}
int p = 0;
for(i=0;i<SIZE_OF_STRUCT;i++)
{
if(memory[i] == 1)
{
if(memory2[i] == 0)
{
printf("Found 1, i = %i, +0x%X\n", i, i);
}
}
if(memory2[i] == 1)
{
if(memory[i] == 0)
{
printf("Found 2, i = %i, +0x%X\n", i, i);
}
}
}
UINT_PTR uiptrPointerTarget = (*reinterpret_cast<UINT_PTR *>(pvAddress));
if ( uiptrPointerTarget & 0x03 ) { continue; } // Pointer does not point to a location that is a multiple of 4.
if ( ::IsBadReadPtr( reinterpret_cast<VOID *>(uiptrPointerTarget), sizeof( DWORD ) ) ) { continue; } // Pointer does not point to a valid address.
Users browsing this forum: No registered users and 1 guest