информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetГде водятся OGRыСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Последовательность действий и результат 14.05.01 12:22  Число просмотров: 984
Автор: pZero Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > HINT: Вызов CreateThread() внутри DllMain() и мы имеем
> > поток в
> > контексте процесса ... весьма бородатый прием.
>
> 1)Запускаем программу
> 2)Она ставит ловушку в DLL
>

3)Когда чужой процесс использует библиотеку создаем в нем

Для этого надо послать BROADCAST всем окнам системы - только
после этого произойдет загрузка обработчика ....

> свой поток
> 4)Снимаем ловушку

Этого делать не нужно ... потому как это вызовет выгрузку кода DLL

> 5)Завершаем свою программу
> 6)Созданный поток остается работать в адрессном
> пространстве чужого процесса?

Да ...
>
> Последовательность действий такова?

Ты в Рихтера всеже загляни, там есть пример кода ...

>
> Vital.
<programming>
[C++] Возможно ли в Win98 создать поток в чужом процессе? 10.05.01 20:29  
Автор: Vital Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Возможно ли в Win98 создать поток в чужом процессе?
И если возможно, то как?
Я пробовал это сделать с помощью ф-и CreateRemoteThread,
но она возвращает ошибку.
Тогда я пытался присвоить своему процессу, который будет
создавать поток, привилегию SeDebugPrivilege, а уже потом
исспользовать CreateRemoteThread, но ф-я OpenProcessToken, необходимая
для этого, тоже возвращает ошибку.
Или такая схема работает только в WinNT?

Спасибо Vital.
[C++] ДА 11.05.01 13:09  
Автор: pZero Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Возможно ли в Win98 создать поток в чужом процессе?

ДА, но не так как ты пытался (все что ты пробовал, это для NT)
а через SetWindowsHookEx() при условии что процесс, куда будет осуществлятся внедрение, имеет очередь сообщений ...
Подробности есть в Д.Рихтере.
[C++] и все таки нет 11.05.01 14:38  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Речь идет о зоздании потока, а SetWindowsHookEx, как ты сам отметил, работает тоько когда есть обработчик сообщений. Иначе говоря это еще один вариант проецирования. В таком случае можно просто посадить DLL и на этом все закончить.
[C++] YA-YA :)) 11.05.01 17:22  
Автор: pZero Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Речь идет о зоздании потока, а SetWindowsHookEx, как ты сам
> отметил, работает тоько когда есть обработчик сообщений.
> Иначе говоря это еще один вариант проецирования. В таком
> случае можно просто посадить DLL и на этом все закончить.

А немного подумать головой ? :)))


HINT: Вызов CreateThread() внутри DllMain() и мы имеем поток в
контексте процесса ... весьма бородатый прием.
[C++] Последовательность действий и результат 12.05.01 04:56  
Автор: Vital Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> HINT: Вызов CreateThread() внутри DllMain() и мы имеем
> поток в
> контексте процесса ... весьма бородатый прием.

1)Запускаем программу
2)Она ставит ловушку в DLL
3)Когда чужой процесс использует библиотеку создаем в нем свой поток
4)Снимаем ловушку
5)Завершаем свою программу
6)Созданный поток остается работать в адрессном пространстве чужого процесса?

Последовательность действий такова?

Vital.
[C++] Последовательность действий и результат 14.05.01 12:22  
Автор: pZero Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > HINT: Вызов CreateThread() внутри DllMain() и мы имеем
> > поток в
> > контексте процесса ... весьма бородатый прием.
>
> 1)Запускаем программу
> 2)Она ставит ловушку в DLL
>

3)Когда чужой процесс использует библиотеку создаем в нем

Для этого надо послать BROADCAST всем окнам системы - только
после этого произойдет загрузка обработчика ....

> свой поток
> 4)Снимаем ловушку

Этого делать не нужно ... потому как это вызовет выгрузку кода DLL

> 5)Завершаем свою программу
> 6)Созданный поток остается работать в адрессном
> пространстве чужого процесса?

Да ...
>
> Последовательность действий такова?

Ты в Рихтера всеже загляни, там есть пример кода ...

>
> Vital.
не-а. только на базе NT, а CreateRemoteThread() - в Win9x стоит пустышка, т.е. не работает 11.05.01 01:07  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach