Завантаження DLL у чужий процес

Як завантажити DLL у чужий процес? Буду дуже вдячний за будь-які відповіді чи посилання з цього питання. Будь ласка, не треба лише посилатися на Джеффрі Ріхтера - у мене немає можливості прочитати його книги. Якщо знаєте де дістати електронні варіанти його книг – пишіть чи надсилайте на [email protected] Заздалегідь вдячний.

Наприклад поставити пастку, на потрібну для твого випадку подію. Див. SetWindowHookEx.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WindowsключAppInit_DLLs- завантажиться у всі GUI програми :)

статичний метод дозволяє або додати код, який викличе LoadLibrary; або змінити таблицю імпорту, щоб на етапі запуску exe-шника завантажувач підвантажив нашу dll. Метод хороший тим, що для подальшої роботи не потрібно ніяких loader.exe - залишається тільки програма-жертва і наша dll. Переваги є і недоліками :( змінюється вихідний файл, що, безумовно, погано. особливо якщо потрібно впроваджувати dll в кілька процесів.

у кожному конкретному випадку, залежно від завдання, потрібно вибирати відповідний метод.

статичні (статичні методи складніші і вимагають розуміння формату pe - portable executable):

статичні методи є досить складними для програмної реалізації. пов'язано це про те, що різні лінкери по-різному трактують формат pe (!). Спочатку рекомендую потренуватися в hiew.