| 281 | } |
| 282 | |
| 283 | bool IATReferenceScan::isAddressValidImageMemory( DWORD_PTR address ) |
| 284 | { |
| 285 | MEMORY_BASIC_INFORMATION memBasic = {0}; |
| 286 | |
| 287 | if (!VirtualQueryEx(ProcessAccessHelp::hProcess, (LPCVOID)address, &memBasic, sizeof(MEMORY_BASIC_INFORMATION))) |
| 288 | { |
| 289 | return false; |
| 290 | } |
| 291 | |
| 292 | return (memBasic.Type == MEM_IMAGE && ProcessAccessHelp::isPageExecutable(memBasic.Protect)); |
| 293 | } |
| 294 | |
| 295 | void IATReferenceScan::patchReferenceInMemory( IATReference * ref ) |
| 296 | { |
nothing calls this directly
no outgoing calls
no test coverage detected