私は自分の DLL をプロセスに注入し、自分と同じ値のアドレスをメモリでスキャンしようとしましたが、最初のアドレスを取得した後にクラッシュが発生しました。10 個のアドレスである必要があります。
for(DWORD i = MEM_START; i< MEM_END ;i++)
{
VirtualQuery((void*)i,pMemInfo,sizeof(MEMORY_BASIC_INFORMATION));
if(pMemInfo->AllocationProtect == PAGE_READONLY || PAGE_EXECUTE_WRITECOPY || PAGE_READWRITE || PAGE_WRITECOMBINE)
{
if(*(DWORD*)i==1337)
{
addresses.push_back(i);
}
}
}
私の保護チェックは間違っていると思いますが、よくわかりません。