Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Есть и более гибкий метод... 27.10.03 17:42 Число просмотров: 2040
Автор: sem4a Статус: Незарегистрированный пользователь
|
этот метод описан в книге "Windows для профессионалов" вот примерно его методика.
ANSI:
// Получаем истенный адрес LoadLibraryA v Kernel32.dll
PTHREAD_START_ROUTINE pfnThreadRtn = (PTHREAD_START_ROUTINE)
GetProcAddress(GetModuleHandle(TEXT("Karnel32")), "LoadLibraryA");
// Создаем поток в удаленном процессе, которий загруяет наш DLL
HANDLE hThread = CreateRemoteThread(hProccessRemote, NULL, 0, pfnThreadRtn, "C:\\MyLib.dll", 0, NULL);
Конечно в том виде что я здесь написал это угробит любой удаленный процесс, так как Адресс LoadLibraryА или LoadLibraryW будет не правельний нам надо получить этот адрес относительно удаленного процесса а не нашего, но это тоже решимо, посмотрите пример в книге.
Кстате угробить удаленнэй процесс тоже часто нужная штука, например Antivirus или Personal Firewall.
Таким образом мы можем внедрить свой DLL в тот же Antivirus и в тот же Personal Firewall. что даст нам вот что - Antivirus ни когда не поставит сам себя на карантин, а Personal Firewall почти всегда пропускает свой процесс на соединение без правила
|
|
|