Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.45 KB | None | 0 0
  1.         bool IsBadReadPtr( PVOID pPointer )
  2.         {
  3.             MEMORY_BASIC_INFORMATION mbi = { 0 };
  4.  
  5.             if ( VirtualQuery( pPointer , &mbi , sizeof( mbi ) ) )
  6.             {
  7.                 DWORD mask = ( PAGE_READONLY | PAGE_READWRITE | PAGE_WRITECOPY | PAGE_EXECUTE_READ | PAGE_EXECUTE_READWRITE | PAGE_EXECUTE_WRITECOPY );
  8.  
  9.                 bool ret = !( mbi.Protect & mask );
  10.  
  11.                 if ( mbi.Protect & ( PAGE_GUARD | PAGE_NOACCESS ) )
  12.                     ret = true;
  13.  
  14.                 return ret;
  15.             }
  16.  
  17.             return true;
  18.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement