Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Перехват АПИ функций.  (Прочитано 23028 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« : 18-08-2004 07:00 » 

Интересует как из своей проги получить доступ к буфферу используемого другой прогой ком порта, чтобы видеть входящую и исходящую из порта в порт инфу ? Можно ли это сделать ? И можно ли изменять эти данные и отправлять в этот же буфер ?

Мне посоветовали вот что :
Цитата

Перехватить в "другой проге" функции работы с ком-портом. ReadFile, WriteFile, CreateFile - чтобы знать, какму описателю соответствует COM-порт, CloseHandle - чтобы знать, когда описатель потеряет актуальность.


Отсюда и вопрос.  Если кто либо занимался этим когда-нибудь, подкиньте  ссылочек на инфу, где почитать и посмотреть примерчики.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 18-08-2004 07:12 » 

MOPO3,  Это называется "захучить" (с) SlavaI. Англиский термин - hook.

Посмотри на RSDN.

http://rsdn.ru/article/baseserv/winhooks.xml

Там даже статейка была, в качестве примера,  как MessageBox подменить.
Прсото дай поиск по hook.
Сам я только клаву хучил, а по COM - сорри,  не делал.

ЗЫ Ааааа наврал, вот ща нашёл

http://rsdn.ru/article/baseserv/IntercetionAPI.xml

Но хуки тоже посмотри, может поможет. Или кто-нить опровергните меня, чтоб человек не мучался.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #2 : 18-08-2004 08:10 » 

Цитата: Джон
http://rsdn.ru/article/baseserv/winhooks.xml

Там даже статейка была, в качестве примера,  как MessageBox подменить.
Прсото дай поиск по hook.
Сам я только клаву хучил, а по COM - сорри,  не делал.

Это я сейчас читаю.
Цитата: Джон
ЗЫ Ааааа наврал, вот ща нашёл
http://rsdn.ru/article/baseserv/IntercetionAPI.xml


Тут я не могу пример скомпилить и посмотреть из-за этого :
Код:
Для работы нам потребуются следующие заголовочные файлы{
#include "stdafx.h"
#include "intercpt.h"

Вот это "intercpt.h" откуда взять ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 18-08-2004 08:31 » 

Цитата: MOPO3
Вот это "intercpt.h" откуда взять ?


А выкинуть не пробовал? Я думаю он туда просто все свои ф-ции засунул. Чтоб удобнее подключать было.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #4 : 18-08-2004 08:34 » 

Джон,  ну мля, так и есть. Убрал и работает. Буду дальше бачить.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #5 : 18-08-2004 08:46 » 

Успехов!
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #6 : 18-08-2004 08:48 » 

Джон,  к сожалению этот вариант не подходит Жаль

Вылетает всегда с
Цитата
You have not enough rights to attach dlls
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #7 : 18-08-2004 09:01 » 

MOPO3, Это должно работать - тут дело в сложности задачи - но это возможно - прорыв за адрессное пространство процесса возможен - я посмотрю, что найти тебе смогу.
Записан

А птичку нашу прошу не обижать!!!
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #8 : 18-08-2004 09:14 » 

MOPO3,  На http://www.sysinternals.com/ была (и есть) прога, которая наверно делает, то что тебе надо.

http://www.sysinternals.com/ntw2k/freeware/portmon.shtml

Изменять данные она конечно не может, но мониторить позволяет. К сожалению без исходников. Может, тебе в этом направлении покапать? Раз уж никто не откликается.   Так больше нельзя...  Хоть как-то тебя подбодрить, в том смысле, что задачку можно решить. А изменять данные обязательно? Я думаю это будет труднее всего сделать.
А у "драйверщиков" не спрашивал?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Pu
Большой босс

ru
Offline Offline
78


« Ответ #9 : 18-08-2004 09:25 » 

Джон, этой прогой уже давно пользуюсь и как показывает практика сей вариант возможен, хотя как бы уже было у нас помню такое обсуждение. Но в портмон по-моему есть такая фича - его надо раньше своей проги запустить, я подозреваю, что открывая порт из своей программы мы реально обращаемся не к системным ресурсам, а, вероятно, к портмону.
Тоже покопаю чуток в свободное время.
Записан

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #10 : 18-08-2004 09:30 » 

Pu,  Насклько я помню, такое действительно было, но только в версии для вин9х (уже сто лет не юзал). А под НТ вроде и так работает, даже можно через сеть сниффить. Те это показывает, что грубого внедрения в систему не требуется.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Pu
Большой босс

ru
Offline Offline
78


« Ответ #11 : 18-08-2004 09:34 » 

Джон, а вот щас и попробую. :!:
Записан

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
Pu
Большой босс

ru
Offline Offline
78


« Ответ #12 : 18-08-2004 09:46 » 

вроде работает. только при первой попытке закапчурить порт портмон ругнулся что порт уже используется. повторить не удалось. сниффит как пчелка.   Улыбаюсь
Записан

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #13 : 18-08-2004 10:38 » 

Джон, Pu, мне необходимо не только мониторить, а именно подставлять свои данные. А портмон я пойду сейчас гляну.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #14 : 18-08-2004 10:41 » 

Цитата: Джон
А у "драйверщиков" не спрашивал?


Дело в том что в дровах я практически не шарю, и соответственно не могу полноценно и правильно сформировать вопрос. А задавать вопросы из серии "ламер" не очень хоцеца, потому как ответ вразумительный получить практически невозможно.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #15 : 18-08-2004 11:47 » 

Цитата: Джон
MOPO3,  На http://www.sysinternals.com/ была (и есть) прога, которая наверно делает, то что тебе надо.

http://www.sysinternals.com/ntw2k/freeware/portmon.shtml


Жаль что сырцов к ней нема Жаль
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Pu
Большой босс

ru
Offline Offline
78


« Ответ #16 : 18-08-2004 12:00 » 

MOPO3, что можу еще предложить, порассматривай потроха этой утилитки, может наведут на мысли используемые в ней системные функции. занятие правда неблагодарное , но вся инфа как правило в конце файла складирована(всякия там kernel32, user32 итд).
Записан

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
baleog
Гость
« Ответ #17 : 18-08-2004 12:11 » 

MOPO3, посмотрите еще
http://www.wasm.ru/forum/index.php?action=vthread&forum=4&topic=6819
- там похожее обсуждение
Записан
Серж
Гость
« Ответ #18 : 18-08-2004 12:25 » 

Мороз!
Очень хорошая статья с исходным текстом программы (также очень хорошей)
Alex V.Bessonov "A Serial Port Spy for NT"
http://www.windevnet.com/wdm/articles/1999/9910
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #19 : 18-08-2004 13:27 » 

baleog, неб не то, там про фильтр файловой системы.
Серж, благодарю, ушол читать.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
xelos
Гость
« Ответ #20 : 18-08-2004 22:06 » 

существует несколько типов драйверов. один из типов - фильтры. Этот драйвер вызывается до основного драйвера и его цель - предварительная обработка данных. такой драйвер как нельзя лучше подходит для твоих целей.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines