Отказано в отладке. Процесс отвергает Dll. Что же делать?

Всем доброго времени суток.
Прошу помощи.
Целью является вызов функций чужого процесса (из самого же процесса естественно)

При внедрении DLL с помощью CreateRemoteThread(код ниже) инъекция проходит успешно, но в подгруженных DLL ее нет (проверка Process Explorer ).
Сам код рабочий (куда попало инжектится )
DLL пустая - ничего не делает, создана через DillMain
bool Inject(DWORD pID, char* path) {
	
	HANDLE proc_handle;
	LPVOID RemoteString;
	LPVOID LoadLibAddy;
	if (pID == 0) {
		return false;
	}
	proc_handle = OpenProcess(PROCESS_ALL_ACCESS, false, pID);
	if (proc_handle == 0) {
		return false;
	}
	
	RemoteString = VirtualAllocEx(proc_handle, NULL, strlen(path), MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
	WriteProcessMemory(proc_handle, RemoteString, path, strlen(path), NULL);
	LoadLibAddy = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
	CreateRemoteThread(proc_handle, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddy, RemoteString, NULL, NULL);
	CloseHandle(proc_handle);
	return true;
}

При попытке отладки процесса через JIT - отказ в доступе.
ПО по типу Cheat Engine , сразу умирают в присутствии нужного процесса.

Подойдет любой совет, в какую сторону думать, что бы хоть как-то продвинуться в нужном направлении.
  • Вопрос задан
  • 360 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы