
121112
.pdf
KERNEL32.DLL
Создаем свою kernel32.dll, которая перенаправляет все вызовы в системную kernel32.dll и еще делает полезные вещи.

KERNEL32.DLL
PROS
Тривиальная реализация
CONS
Работает только при запуске приложения
Много тупого кода
Можно легко всё сломать

APPINITDLLS
HKLM\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Windows\AppInit_DLLs

APPINITDLLS
PROS
Супер-тривиальная реализация
CONS
Работает только при запуске приложения
Применяется ко всем приложениям
Сложно в настройке
Можно вообще убить всю систему

WINDOWS HOOKS
SetWindowsHookEx

WINDOWS HOOKS
PROS
Работает не только при запуске приложения
Только конкретная программа
CONS
Нужен отдельный загрузчик
Какая-то непонятная хрень

КСТАТИ
Мы сейчас примерно на середине презентации

CREATEREMOTETHREAD
VirtualAllocEx();
WriteProcessMemory();
CreateRemoteThread();
LoadLibrary();

CREATEREMOTETHREAD
PROS
Работает не только при запуске приложения
Только конкретная программа
Довольно простой код
CONS
Нужен отдельный загрузчик

ГДЕ ОНО РАБОТАЕТ
.\kernel32.dll — Win95+
AppInit_DLLs — WinNT+
Windows Hooks — Win98+
CreateRemoteThread — WinNT+