Перехват исключительной ситуации CreateFile: нарушение прав чтения - PullRequest
0 голосов
/ 30 апреля 2018

Когда я запускаю свою программу, она успешно создает файл createfile, но когда я пытаюсь внедрить мой API CreateFile в свою программу, он показывает исключение

   Exception thrown: read access violation.

   pbCode was nullptr.

У меня есть поиск по различным сайтам, но я не могу найти проблему
Это код для подключенного CreateFile

_CreateFile TrueCreateFile = 
(_CreateFile)GetProcAddress(GetModuleHandle(L"kernel32"), "CreateFile");
HANDLE WINAPI HookCreateFile(
_In_     LPCTSTR               lpFileName,
_In_     DWORD                 dwDesiredAccess,
_In_     DWORD                 dwShareMode,
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
_In_     DWORD                 dwCreationDisposition,
_In_     DWORD                 dwFlagsAndAttributes,
_In_opt_ HANDLE                hTemplateFile)
   {    

      HANDLE out = TrueCreateFile((LPCTSTR)"C:\\Users\\abc\\bar.txt",
      dwDesiredAccess,
      dwShareMode,
      lpSecurityAttributes,
      dwCreationDisposition,
      dwFlagsAndAttributes,
      hTemplateFile);

return out;
}

подключить CreateFile

void hook_CreateFile()
{
   HANDLE hProc = NULL;
   if (Mhook_SetHook((PVOID*)&TrueCreateFile, HookCreateFile)) {
    // Now call OpenProcess and observe NtOpenProcess being redirected
    // under the hood.
    hProc = OpenProcess(PROCESS_ALL_ACCESS,
        FALSE, GetCurrentProcessId());
    if (hProc) {
        printf("Successfully opened CreateFile: %p\n", hProc);
        CloseHandle(hProc);
    }
    else {
        printf("Could not open CreateFile: %d\n", GetLastError());
         }
    }
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...