C++: инъекция Dll. Почему CreateRemoteThread() не работает в Блокноте?

Я довольно новичок в инъекции DLL, делаю это из любопытства и потому, что хочу создать оверлей в игре, не изменяя его исходный код.

Но пока я застрял с базовой инъекцией DLL: той, что использует CreateRemoteThread().

Я следовал этому руководству (будьте осторожны на французском языке): http://xevia.webege.com/old/atoray/2010/06180.php

Что я сделал :

  • Инъекция отлично работает на базовой программе Target.exe (см. ссылку Xevia)
  • Я вижу DLL, загруженную процессом с EnumProcessModules()
  • После инъекции в Target.exe я вижу, что моя "Hook.dll" добавилась.
  • [править] Проверил версию exe: и блокнот, и мой инжектор 32-битные

Но когда я вставляю dll в другие процессы, похоже, это не работает, даже если CreateRemoteThread() не возвращает NULL.

Поэтому я проверил много сообщений, в том числе этот: Как предотвратить внедрение DLL

И этот: C++ - CreateRemoteThread DLL Injection [Windows 7] (попробовал абсолютный путь, без успеха)

И многие другие, не имея возможности указать, что именно было не так. Поэтому я призываю ТАК-богов.

1) Может ли быть проблема с правами доступа?

2) Может это мой метод инъекций, слишком классический? Какой из них я должен попробовать?

3) [Вопрос темы] Почему моя dll не вставляется в Блокнот с помощью CreateRemoteThread?

Спасибо за ваше время.

[открыто для любого редактирования грамматики/формулировки]


person Greg    schedule 13.12.2016    source источник
comment
Вы использовали абсолютный путь к dll или просто имя dll?   -  person Adrian Roman    schedule 13.12.2016
comment
Я пробовал как абсолютные, так и относительные пути. Оба они работали с моим собственным target.exe, но не с notepad++.exe. Также проверил сборки x64/x86.   -  person Greg    schedule 13.12.2016


Ответы (1)


Оно работает!

Что мне нужно было изменить:

  • Построить в x86, чтобы соответствовать целевому приложению
  • Используйте абсолютный путь

Я сделал и то, и другое, но забыл изменить свой абсолютный путь при переключении между x86/x64...

Спасибо Адриану Роману, который наставил меня на правильный путь.

введите здесь описание изображения

person Greg    schedule 13.12.2016