0

win32ユーザー モード アプリの 4 GB のアドレス空間全体を調べたいとします。ランダムな場所から直接読み取ろうとすると がスローされるためaccess violation、最初に各ページの読みやすさを確認することを考えていました。

char* p = 0x00000000;
while (p < 0xf0000000 ) 
{
    MEMORY_BASIC_INFORMATION mbi;
    VirtualQuery ( p , & mbi , 100) ;
    if (!(  mbi.Protect | PAGE_NOACCESS ) )        
         char tmp = *p;
    p = p + PAGE_SIZE;


}

それだけでより効率的な他の方法はありますか?

4

1 に答える 1