Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CreateRemoteThread???


Страницы:   1 2 3 4 5 6 7 8

volser ©   (2005-01-20 19:21:00) 

Мне нужно запустить поток в чужом процесе.

Как работать с функцией
CreateRemoteThread(hProcess,nil, 0,  @myProc, nil, 0,ThreadID)

myProc - доступна только в моем адресном пространстве. Как сделать так что бы она была доступна и в hProcess?


kaZaNoVa   (2005-02-02 07:13:00) [21]

Piter ©   (01.02.05 23:49) [130]

> Но я смотрю возникают вопросы как используется
>CreateRemoteThread в перехвате АПИ.
>
> Она используется для ВНЕДРЕНИЯ в удаленный процесс,
> ибо это есть условие перехвата WinApi функции (см.
> пункт 1).

LOL, она имхо просто запускает поток ...


Kerk   (2005-02-02 04:21:00) [22]

Piter ©   (01.02.05 23:49) [130]
1) чтобы перехватить WinApi функцию, нужно внедрить свой код в удаленный процесс
2) функция CreateRemoteThread является одним из способов внедрения в удаленный процесс


CreateRemoteProcess НЕ ИСПОЛЬЗУЕТСЯ для внедрения кода. Она используется для запуска потока в удаленном процессе. Скажи как оно связано с перехватом АПИ. (Руку жать пока не буду :P)

>Внедряться надо для перехвата АПИ
>
> согласен. Но зачем firewall'у перехватывать АПИ? Какой
> смысл?

Чтобы ловить вызов OpenProcess.

>спрашивать на разрешение OpenProcess
>
> а какой в этом смысл, никак не пойму?

Внедрение хуком ловим легко - там добавляются лишние модули. Все остальные способы внедрения кода используют OpenProcess.

P.S. По-прежнему не утверждаю, что они перехватывают АПИ. Мнение основано на косвенной информации (в частности о разрешении на OpenProcess)


Piter   (2005-02-01 23:49:00) [23]

Kerk ©   (01.02.05 19:14) [127]
если ты мне покажешь каким боком она используется в перехвате АПИ, я пожму тебе руку


хм. Странно. не знал бы тебя - сказал бы что дурак :)

Итак, ты вроде не отрицаешь два факта:

1) чтобы перехватить WinApi функцию, нужно внедрить свой код в удаленный процесс
2) функция CreateRemoteThread является одним из способов внедрения в удаленный процесс

Но я смотрю возникают вопросы как используется CreateRemoteThread в перехвате АПИ.

Она используется для ВНЕДРЕНИЯ в удаленный процесс, ибо это есть условие перехвата WinApi функции (см. пункт 1).

Не знаю как ты мне будешь жать руку по интернету... ну да ладно, обойдусь :)

Внедряться надо для перехвата АПИ

согласен. Но зачем firewall'у перехватывать АПИ? Какой смысл?

kaZaNoVa ©   (01.02.05 21:56) [128]
спрашивать на разрешение OpenProcess


а какой в этом смысл, никак не пойму?


kaZaNoVa   (2005-02-01 22:14:00) [24]

провёл тесты с ZoneAlarm Pro  v4.5.538
впечатления- надёжная, мощная программа ...

главное - реагирует на OpenProcess ))

Дальше - интереснее, при попытке с помощью Process Explorer'a v8.60 завершить его процесс, либо его сервис, сразу, без попросов возникает отказ "отказано в доступе" ..

Но, самое интересное, если сперва Process Explorer'ом открыть процесс клиента (при этом он не спрашивает разрешения, уровень защиты был на максимуме) - и поочередно убить все его нитито процесс клиента вылетает .. ))))) (!!!)

после этого также лекго можно убить нити сервиса и сервис, соответственно вылетает, и, все, "свобода в инет" - защита исчезает(

Таким поведением ZA меня сильно разочаровал, видимо разработчики не подумали, что "юзера" могут убивать отдельные нити (Thread))))

//весь тест шёл на VMware с Windows XP SP2


kaZaNoVa   (2005-02-01 21:56:00) [25]

по сабжу, поставил ZoneAlarm Pro 4.5 версию, да, точно, там есть настройка - спрашивать на разрешение OpenProcess - удивительно, работает))))


Kerk   (2005-02-01 19:14:00) [26]

Piter ©   (01.02.05 18:58) [126]
CreateRemoteThread просто один из способов внедрения, если ты не знал


если ты мне покажешь каким боком она используется в перехвате АПИ, я пожму тебе руку (извраты не предлагать).

Piter ©   (01.02.05 18:58) [126]
добавление лишней ДЛЛ файрвол отловит
отловит. Но зачем ему при этом внедряться?


Для этого внедряться не надо. Внедряться надо для перехвата АПИ. Перехватывает он АПИ или нет мы пока не выяснили.


Piter   (2005-02-01 18:58:00) [27]

Kerk ©   (01.02.05 16:23) [117]
с внедрением. но потоки тут не при чем


CreateRemoteThread просто один из способов внедрения, если ты не знал

добавление лишней ДЛЛ файрвол отловит

отловит. Но зачем ему при этом внедряться?

при внедрении с помощью CreateRemoteThread с подружанием длл - он ругается с сообщением "изменились модули процесса" ..

естественно. Потому что при перечислении модулей он увидел новый модуль (DLL твою) - об этом и написал

а при внедрении по "легендарному" методу "поток без длл" - не ругается!

естественно. Как он может ругаться? Если бы он ругался на каждый лишний поток - он бы ругался всегда...


kaZaNoVa   (2005-02-01 18:47:00) [28]

Игорь Шевченко ©   (01.02.05 17:39) [124]
Говорят, некоторые фаерволлы, в частности, ZoneAlarm  (я сам пока не проверял) реагируют на OpenProcess и спрашивают юзера, позволить или нет ..


Игорь Шевченко   (2005-02-01 17:39:00) [29]

kaZaNoVa ©   (01.02.05 17:35) [123]

Outpost работает с использованием драйвера, так что ему доступна масса сервисов без всякого внедрения. Собственно, outpost, как и большинство firewall'ов - это всего лишь интерфейсная оболочка, а всю работу выполняет драйвер режима ядра.


kaZaNoVa   (2005-02-01 17:35:00) [30]

Игорь Шевченко ©   (01.02.05 17:30) [122]
имхо - загруженные и используемые процессом ДЛЛ.

проверял на АутПосте - при внедрении с помощью CreateRemoteThread с подружанием длл - он ругается с сообщением "изменились модули процесса" ..

а при внедрении по "легендарному"методу "поток без длл" - не ругается! - )


Игорь Шевченко   (2005-02-01 17:30:00) [31]

kaZaNoVa ©   (01.02.05 17:21) [121]

А что такое модули процессов ?


kaZaNoVa   (2005-02-01 17:21:00) [32]

Игорь Шевченко ©   (01.02.05 17:19) [120]

> А нафига ему внедряться ?

а как он ослеживает изменение модулей процессов?


Игорь Шевченко   (2005-02-01 17:19:00) [33]

firewall никуда не внедряется. А нафига ему внедряться ?


kaZaNoVa   (2005-02-01 16:28:00) [34]

варианты с недокументированными Zw* функциями не рассматриваем))


kaZaNoVa   (2005-02-01 16:27:00) [35]

Piter ©   (01.02.05 16:14) [116]

> Я и так знаю, что внедриться можно без всякого
> OpenProcess

и без длл и изменения исходного файла можешь?
тогда я признаю, ты профи ..


Kerk   (2005-02-01 16:23:00) [36]

Piter ©   (01.02.05 16:14) [116]
Ну а то, что нужно внедриться в удаленный процесс, чтобы перехватывать функции - хоть это ты признаешь? Или ты перехватываешь функции без внедрения? :)


с внедрением. но потоки тут не при чем.

> Я и так знаю, что внедриться можно без всякого
> OpenProcess

можно.. второй способ - хук. добавление лишней ДЛЛ файрвол отловит.


Piter   (2005-02-01 16:14:00) [37]

Kerk ©   (01.02.05 15:34) [115]
перечитай ветку. посмотри исходники, что здесь висят


нафига мне это смотреть? Я и так знаю, что внедриться можно без всякого OpenProcess

что АПИ перехватывать нифига не надо никаких потоков добавлять

да ладно?
Ну а то, что нужно внедриться в удаленный процесс, чтобы перехватывать функции - хоть это ты признаешь? Или ты перехватываешь функции без внедрения? :)


Kerk   (2005-02-01 15:34:00) [38]

Piter ©   (01.02.05 15:30) [113]
А как связаны OpenProcess и внедрение?


перечитай ветку. посмотри исходники, что здесь висят.

Piter ©   (01.02.05 15:32) [114]
И как сам Firewall внедряется? Хуками? Так хуками далеко не в каждый процесс внедришься.
А CreateRemoteThread не реализован на win9x


что АПИ перехватывать нифига не надо никаких потоков добавлять.


Piter   (2005-02-01 15:32:00) [39]

И как сам Firewall внедряется? Хуками? Так хуками далеко не в каждый процесс внедришься.
А CreateRemoteThread не реализован на win9x

Так что думаю никуда firewall не внедряется... ему это нафиг не нужно


Piter   (2005-02-01 15:30:00) [40]

А как связаны OpenProcess и внедрение?


Страницы:   1 2 3 4 5 6 7 8

Наверх

Титульная страница Поиск, карта сайта Написать письмо