|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.01.2007, 13:52 | #11 | |
Регистрация: 06.01.2007
Сообщений: 9
|
Цитата:
Под виндой это довольно просто: CreateRemoteThread; если не хватает привилегий - можно попробовать получить с помощью AdjustTokenPrivileges. Если не известен адресок - тоже задача не слишком сложная: 0. Написать ДЛЛку с нужным кодом в точке инициализации (вернуть 1 чтобы не занимать память ), обозвать "evil.dll" и положить в корень диска. 1. Открыть процесс на запись (о правах написано выше) 2. Записать в неиспользуемые места чужой программы (обычно запись в 400040h проходит безболезненно (вот не помню что там с аттрибутами, если ридонли - VirtualProtectEx в помощь)) строчку пути до ДЛЛки, например "c:\evil.dll" 3. Сказать CreateRemoteThread на адрес LoadLibraryA (это кернель, так что GetProcAddress вернёт то что надо), в качестве параметра триду - адрес строчки (например 400040h) Зы, если это 98 то всё делается проще... int 2fh (или 2eh... забыл уже)
# (perl -e "while (1) { print "\x90"; }") | dd of=/dev/evil
|
|
11.01.2007, 20:18 | #12 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
для CreateRemotethread под администратором всегда хватает привилегий.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Меняем Explorer | Veiron | Свободное общение | 4 | 19.05.2008 12:51 |
Меняем цвет текста в элементе | Sargon | Общие вопросы Delphi | 15 | 13.09.2007 08:06 |
Меняем иконку у программки. | celovec | Общие вопросы Delphi | 4 | 01.07.2007 19:06 |