searching a string in memory , but dont think i got it right somewhere
Code:
//got the process handle with OpenProcess , so i just paste from here
//not sure if its right
void VirtualQueryFunc(HANDLE hProcess)
{
char Buffer[32];
DWORD dwRead;
MEMORY_BASIC_INFORMATION meminfo;
SYSTEM_INFO si;
GetSystemInfo(&si);
printf("%s %i\n" , "si.lpMinimumApplicationAddress", si.lpMinimumApplicationAddress);
printf("%s %i\n" , "si.lpMaximumApplicationAddress" , si.lpMaximumApplicationAddress);
int address = 0;
DWORD codebase = 0x0040000;
while (address < (int)si.lpMaximumApplicationAddress){
VirtualQueryEx(hProcess , (LPCVOID) address, &meminfo, sizeof(meminfo));
switch(meminfo.State)
{
case MEM_COMMIT:
ReadProcessMemoryFunc(hProcess , address);
printf("%s\n" , "memory commited");
break;
case MEM_FREE: printf("%s\n" , "free memory"); break;
case MEM_RESERVE: printf("%s\n" , "reserved memory"); break;
}
Sleep(30);
address += meminfo.RegionSize;
}
}
void ReadProcessMemoryFunc(HANDLE hProcess , int addresss)
{
BYTE byBuffer[0x1000];
DWORD dwRead;
ReadProcessMemory(hProcess, (void *)addresss, byBuffer, 0x1000, &dwRead);
if(strcmpi((char *)byBuffer ,"PRIVMSG")==0)
{
printf("%s\n" , (char *)byBuffer);
}
}