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

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

COM порт [D6, WinXP]


Страницы:   1 2 3

fantomas ©   (2004-04-04 03:00:00) 

Реально ли из своей проги читать данные с COM порта, с которым уже работает другая программа? Спасибо.


tesseract   (2004-05-25 09:20:00) [1]

у меня что-то валялось - по моему от диска "внутренне ус-во Windows 2000" Марка Руссиновича, там были debug-либы описания всякого внутреннего барахла, этот же портмон - но где не помню, и были ли исходники тоже.


GanibalLector   (2004-05-24 21:57:00) [2]

И еще...Я уже несколько раз в "Потрепаться" спрашивал о исходниках PortMon.Может тут найдется тот у кого они есть.Если найдется,то отправьте пожалуйста Talla2k@ukr.net


GanibalLector   (2004-05-24 21:53:00) [3]

Я вот это...че подумал.Может есть пару человек толковых с желанием осуществить это???Собрались бы...написали.
З.Ы. Сам я не потяну :(


tesseract   (2004-05-23 16:07:00) [4]

Конечно писать дрова на делфе не рекомендуется (на С кстати тоже)а гнидой ты будешь полгода гонять код понимая все вызовы. Но DeviceIOcontrol это стандартная ф-я драйвера - через неё все работают, главное понять  ЯК. Так что гнидой лучше как раз сам exe помучить.


Павел   (2004-05-23 13:42:00) [5]

Да, господа, далеко вы зашли :) Позвольте присоединиться.
1. Написать дравер (т.е. sys или vxd) на Delphi нельзя.
2. Использовать sys или vxd в Delphi можно и нужно. Для этого он открывается через CreateFile, и потом к нему обращаются через DeviceIoControl или просто через ReadFile, WriteFile. В зависимости от того, какую функцию используют в драйвере вызывается соответствующий обработчик.
3. PortMon от сисинтерналсов использует драйвер. Просто он заложен в ресурсы. При загрузке программы он создается как файл и загружается.
4. Кому интересно про драйвера ищут книжку В.П. Солдатова "Программирование драйверов Windows" изд. Бином. Кому интересно про порты ищут книжку П.В. Агуров "Последовательные интерфейсы. Практика программирования" изд. БХВ-Питер. И то и другое легко найти на озоне или book.ru. Или пошукать по магазинам.


Артем Герасимов   (2004-05-22 23:17:00) [6]

2>> tesseract

>>Скорей всего Sys- устанавливает новый драйвер, и он
>>великолепно светиться в реестре. И если оно драйвер, то
>>DeveciIOControl тебе поможет.

Да, это драйвер, и в реестре он светится естественно. загружается динамически (это легко можно сделать на делфи).

Перехватом DeveciIOControl мало добьешься в данном случае. Проще дизассемблировать с помощью IDA... Но это тема уже не данного топика.

Хотел бы я посмотреть на того человека, который решиться написать драйвер-монитор порта на делфи :), ведь об этом и шла речь...

----
Артем Греасимов
http://www.aggsoft.com


tesseract   (2004-05-22 19:35:00) [7]

На http:\\www.Wasm.ru появилась статья по "анализу" HASP. Там хорошо описаны механизма перехвата данных по DeviceIOcontrol


tesseract   (2004-05-22 12:00:00) [8]

2>> ganniballector

Скорей всего Sys- устанавливает новый драйвер, и он великолепно светиться в реестре. И если оно драйвер, то DeveciIOControl тебе поможет.

2>> Артем
Любой драйвер - это Dll режима ядра с определёнными функциями чере з Delphi можно её сделать - с некоторыми оговорками. И без всяких нахрен DDK - это просто Набор заголовков.


Артем Герасимов   (2004-05-20 22:56:00) [9]

>>Хорошо,тогда еще вопросик.Во всех мониторах от СИСИНТЕРНАЛС
>>имеются файлы с расширением sys и vxd.Ну...с VXD понятно(где
>>то даже пример нашел,как сделать) а с sys???Можно ли
>>средствами Delphi сделать sys???

sys сделать не получится, поскольку сборка этого файла выполняется с помошью утилитки build из Windows DDK. Все либы естественно сделаны для С.

Спионерить файлы теоретически возможно, но практически не реализуемо, т.к. придется перелопатить кучу кода, чтобы узнать:
- узнать коды функций драйвера
- формат структур данных

И то нет никакой гарантии что в какой то момент не вылезет проблема, которая может привести к краху системы.

----
Артем Греасимов
http://www.aggsoft.com


GanibalLector   (2004-05-18 23:56:00) [10]

2 tesseract,Ihor Osov'yak
Хорошо,тогда еще вопросик.Во всех мониторах от СИСИНТЕРНАЛС имеются файлы с расширением sys и vxd.Ну...с VXD понятно(где то даже пример нашел,как сделать) а с sys???Можно ли средствами Delphi сделать sys???
И еще,к сожалению мои поиски по нахождению исходников PortMon не увенчались успехом,ну да ладно.Вопрос такой,а может и не создавать вечный двигатель,а СПИОНЕРИТЬ эти два файла у СИСИНТЕРНАЛС.Как думаете,в ихнем коде присутствует замена данных?


tesseract   (2004-05-17 10:06:00) [11]

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


Ihor Osov'yak   (2004-05-16 17:07:00) [12]

2 [17] GanibalLector ©   (11.04.04 02:23)

>>>Ihor Osov'yak
>но и менять данные на лету

Имелось в виду не конкретная реализация от сисинтерналс, а использование техники драйвера-фильтра.


tesseract   (2004-05-12 10:18:00) [13]

Умеют но portmon это делает осеня плохо. Хотя я его использовал для анализа чужих программ неодноктрано - там филтр по функциям наложить нельзя


Andrey V.   (2004-05-12 07:55:00) [14]

А вышеуказанные программы умеют скидывать в файл то, что они через себя в порт пропускают ?


cdaDMITRIY   (2004-05-03 13:52:00) [15]

Удалено модератором
Примечание: TEST


Артем Герасимов   (2004-05-02 23:43:00) [16]

ZwCreateFile это как раз функция ядра. И выполняться может только из драйвера, которые портмон во время запуска exe выделяется из своего тела (т.е. из exe файла копируется область, представляющая собой файл-драйвера). Затем этот драйвер запускается.

есть копонент для делфи для мониторинга порта. Называется TVicCommSpy кажется. Значения менять не позволяет.

----
Артем Греасимов
http://www.aggsoft.com


Германн   (2004-05-01 03:25:00) [17]

2 Viktor Vetoshkin   (30.04.04 18:14) [26]
!!! Bravo Viktor. Tak derjat.
Вот только откуда взялась и что выполняет (и как выполняет) функция ZwCreateFile ?


Viktor Vetoshkin   (2004-04-30 18:14:00) [18]

PortMon s sysinternals.com ne ispol'zuet drov, on ispol'zuet funkciju ZwCreateFile. Eta funkcija pozvoljaet podslushivat' dannye i dazhe (?) izmenjat' ( eto menja ne sil'no interesovalo). Edinstvennoe, eto snachala nado otkryt' com port s zwcreatefile i lish' potom standartno.
P.S. Com - port ne razreshaet s pomoshch'ju create/open-file v rassharennom mode ispol'zovat'.

S uvazheniem
viktor


tesseract   (2004-04-15 09:35:00) [19]

Тут не мониторить, тут перехватывать и изменятьвывод надо.


AleXandrO   (2004-04-15 09:21:00) [20]

а мнпе нравится мониторить с помощью LGComSpy - зачем писать что-то новое?


Страницы:   1 2 3

Наверх

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