我正在制作一个应用程序,该应用程序将根据变量的值使用鼠标/键盘(宏)模拟操作。
这里有我制作的 de 扫描代码:
void ReadMemory(int value){
DWORD primeiroAddress = 0x000000;
DWORD finalAddress = 0xFFFFFF;
DWORD address=0;
std::ostringstream ss;
int i=0;
TListItem *ListIt;
int valor;
HANDLE phandle = OpenProcess(PROCESS_VM_READ,0,TargetPID);
if(!phandle){
ShowMessage("Não encoutrou o processo");
}else{
for(address=primeiroAddress;address<=finalAddress;address+=sizeof(valor)){
ReadProcessMemory(phandle,(void*)address,&valor,sizeof(valor),0);
if(valor==value){
i++;
ss << std::hex << address;
Form1->Label5->Caption=i;
ListIt = Form1->ListView1->Items->Add();
ListIt->Caption = AnsiString(ss.str().c_str()).UpperCase();
ListIt->SubItems->Add(IntToStr(valor));
ss.str(std::string());
}
}
}
}
我想知道我可以做些什么来加快扫描速度
最佳答案
您一次读取一个 int
。而是调用一次 ReadProcessMemory
,一口气读取 16MB,然后在您自己的进程中扫描内存。会快很多。
关于c++ - ReadProcessMemory 更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10591270/