информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Spanning Tree Protocol: недокументированное применениеПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft Authenticator прекращает... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
не-а. только на базе NT, а CreateRemoteThread() - в Win9x стоит пустышка, т.е. не работает 11.05.01 01:07  Число просмотров: 1002
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
<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-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach