MCPcopy Create free account
hub / github.com/NtQuery/Scylla / readMemoryFromFile

Method readMemoryFromFile

Scylla/ProcessAccessHelp.cpp:396–436  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

394
395
396bool ProcessAccessHelp::readMemoryFromFile(HANDLE hFile, LONG offset, DWORD size, LPVOID dataBuffer)
397{
398 DWORD lpNumberOfBytesRead = 0;
399 DWORD retValue = 0;
400 DWORD dwError = 0;
401
402 if (hFile != INVALID_HANDLE_VALUE)
403 {
404 retValue = SetFilePointer(hFile, offset, NULL, FILE_BEGIN);
405 dwError = GetLastError();
406
407 if ((retValue == INVALID_SET_FILE_POINTER) && (dwError != NO_ERROR))
408 {
409#ifdef DEBUG_COMMENTS
410 Scylla::debugLog.log(L"readMemoryFromFile :: SetFilePointer failed error %u", dwError);
411#endif
412 return false;
413 }
414 else
415 {
416 if (ReadFile(hFile, dataBuffer, size, &lpNumberOfBytesRead, 0))
417 {
418 return true;
419 }
420 else
421 {
422#ifdef DEBUG_COMMENTS
423 Scylla::debugLog.log(L"readMemoryFromFile :: ReadFile failed - size %d - error %u", size, GetLastError());
424#endif
425 return false;
426 }
427 }
428 }
429 else
430 {
431#ifdef DEBUG_COMMENTS
432 Scylla::debugLog.log(L"readMemoryFromFile :: hFile invalid");
433#endif
434 return false;
435 }
436}
437
438bool ProcessAccessHelp::writeMemoryToNewFile(const WCHAR * file,DWORD size, LPCVOID dataBuffer)
439{

Callers

nothing calls this directly

Calls 1

logMethod · 0.80

Tested by

no test coverage detected