Почему внедрение DLL с помощью CreateRemoteThread+LoadLibrary завершается с ошибкой с кодом завершения 0 в 64-битном проC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему внедрение DLL с помощью CreateRemoteThread+LoadLibrary завершается с ошибкой с кодом завершения 0 в 64-битном про

Сообщение Anonymous »

Я пытаюсь внедрить DLL в 64-битный целевой процесс с помощью метода CreateRemoteThread + LoadLibraryA в Windows 10. И инжектор, и DLL скомпилированы как 64-битные двоичные файлы, и целевой процесс также является 64-битным. Однако в удаленном потоке происходит сбой и возвращается 0, что указывает на то, что DLL не была загружена.
Вот код, который я использую для внедрения:
RemoteThreadInjector.exe

Код: Выделить всё

#include 
#include
#include 
#include 
#include 

bool InjectDLL(DWORD processID,const char* dllPath) {
HANDLE hProcess = nullptr;
HANDLE hThread = nullptr;
LPVOID pRemoteMem = nullptr;
bool success = false;

hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
if (hProcess == nullptr) {
std::cerr 

Подробнее здесь: [url]https://stackoverflow.com/questions/79700984/why-does-dll-injection-with-createremotethreadloadlibrary-fail-with-exit-code-0[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»