121112
.pdfKERNEL32.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+