Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Инъекции

476
16 октября 2002 года
man2002ua
218 / / 16.10.2002
Пользуясь обычными API функциями (WinNT/2K) написал приложение, внедряещее мою DLLину в другой процесс (не без помощи Питрека ). Работает :) на ура, НО, внедрение в процесс WINLOGON.EXE получается нестабильно!! (иногда с первого раза, иногда с третьего)...В остальные приложения - как по маслу. Подскажите, где прокол?:-(
---- редакция 17/10/2002 ------
В процедуре к-я тормозит и патчит WINLOGON после записи своего кода и изменения контекста потока на мой код я поставил вызов MessageBoxа (вместо Sleep), после чего ResumeThread WINLOGONa запускает мой код... ВСЕ РАБОТАЕТ С ПЕРВОГО РАЗА... у меня крыша едет, почему обычный Sleep не подходит?
3
22 октября 2002 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by man2002ua
Пользуясь обычными API функциями (WinNT/2K) написал приложение, внедряещее мою DLLину в другой процесс (не без помощи Питрека ). Работает :) на ура, НО, внедрение в процесс WINLOGON.EXE получается нестабильно!! (иногда с первого раза, иногда с третьего)...В остальные приложения - как по маслу. Подскажите, где прокол?:-(
---- редакция 17/10/2002 ------
В процедуре к-я тормозит и патчит WINLOGON после записи своего кода и изменения контекста потока на мой код я поставил вызов MessageBoxа (вместо Sleep), после чего ResumeThread WINLOGONa запускает мой код... ВСЕ РАБОТАЕТ С ПЕРВОГО РАЗА... у меня крыша едет, почему обычный Sleep не подходит?



Блин... Не знаю, что и сказать. Может потому, что WINLOGON не простой процесс? В любом случае это не единственный такой прецедент, см.
http://groups.google.com/groups?selm=llojjug8aqq2qtv67rvm2h8i3p3vr5r205%40meow-labs.de&oe=UTF-8&output=gplain

2.5K
24 октября 2002 года
PV1
3 / / 23.10.2002
Цитата:
Originally posted by man2002ua
... почему обычный Sleep не подходит?



Вероятно Sleep останавливает Message Loop нужного вам потока. MessageBox имеет свой собтвенный цикл и заодно Dispatch-ит необходимые вам message. Кстати RPC часто Marshal-ятся через Message Queues.

476
24 октября 2002 года
man2002ua
218 / / 16.10.2002
Цитата:
Originally posted by PV1


Вероятно Sleep останавливает Message Loop нужного вам потока. MessageBox имеет свой собтвенный цикл и заодно Dispatch-ит необходимые вам message. Кстати RPC часто Marshal-ятся через Message Queues.



Мой поток не при чем мне кажется...
Я выделил память в процессе WINLOGONA, остановил его основной поток, вписал в выделенную память код загрузки своей библиотеки, изменил контекст основного потока WINLOGONa на начало выделенного блока памяти (с вызовом моей длл) и затем ВЫВЕЛ MESSAGEBOX на три секунды, программно его закрыл. Только потом я запустил поток WINLOGONa заново, он загрузил мою длл и далее вернул все как было.
В том то и дело, что MessageBox вызывается ни к селу ни к городу - и почему-то все работает... Т.е. он вызывается ДО выполнения моего внедренного кода.

3
24 октября 2002 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by man2002ua


Мой поток не при чем мне кажется...
Я выделил память в процессе WINLOGONA, остановил его основной поток, вписал в выделенную память код загрузки своей библиотеки, изменил контекст основного потока WINLOGONa на начало выделенного блока памяти (с вызовом моей длл) и затем ВЫВЕЛ MESSAGEBOX на три секунды, программно его закрыл. Только потом я запустил поток WINLOGONa заново, он загрузил мою длл и далее вернул все как было.
В том то и дело, что MessageBox вызывается ни к селу ни к городу - и почему-то все работает... Т.е. он вызывается ДО выполнения моего внедренного кода.



Честно говоря, не могу понять причем тут MessageLoop. Это ведь всеголишь часть кода, выполняющаяся в конкретном потоке, не думаю, что для MessageBox создается отдельный поток.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог