Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« : 10-09-2008 08:01 » |
|
возможно ли сделать такое: к примеру, com1 занят (тойст открыт) некой программой (не моей) , а мне хочется, чтобы порт освободился и самому подключится к нему. Как заставить программу закрыть порт или хотябы жёстко "оторвать" от порта ?
|
|
|
Записан
|
|
|
|
sss
Специалист
Offline
|
|
« Ответ #1 : 10-09-2008 08:08 » |
|
Алексей1153++ стопроцентно никак... Иногда получится иногда нет.
|
|
|
Записан
|
while (8==8)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #2 : 10-09-2008 08:14 » |
|
а не на 100% как ? )
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #3 : 10-09-2008 08:42 » |
|
Чисто "отобрать" не получится. Убивай прогу/процесс, который его занимает.
зы Просто идея, наверное можно сделать свой дравер (фильтр?), который по спец. приказу будет отрубаться. Спроси в дровах.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "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."
|
|
|
sss
Специалист
Offline
|
|
« Ответ #4 : 10-09-2008 08:56 » |
|
Джон, есть утилитка Руссиновича handle.exe. Показывает сопоставления имен объектов хэндлам и закрывает их даже в чужих процессах. Но использует драйвер опять же...
|
|
|
Записан
|
while (8==8)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #5 : 10-09-2008 08:59 » |
|
усложнять, думается, неохота, наверное вариант субийством процесса буду использовать, потом перезапускать
|
|
|
Записан
|
|
|
|
zubr
Гость
|
|
« Ответ #6 : 10-09-2008 09:00 » |
|
Ну или как вариант - вешать хук на CreateFile (лучше на ZwCreateFile) - как только чужое приложение пытается подключиться к твоему порту не возвращать его в родную функцию CreateFile.
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #7 : 10-09-2008 09:14 » |
|
sss, есть программа Unlcoker, она освобождает запущенные/занятые dll/файлы другими процессами, для удаления, перемещения, переименования и тд. Почти всегда получается без убиения этого другого процесса. Я вот только не знаю можно ли это проецировать на драйверы?
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "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."
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #8 : 10-09-2008 09:22 » |
|
zubr, порт уже может быть открыт приложением, до запуска моего. вешать хук на CreateFile (лучше на ZwCreateFile) -
пример покажи, а то я однажды пытался - и так и не разобрался, как это сделать ) Пригодится
|
|
|
Записан
|
|
|
|
zubr
Гость
|
|
« Ответ #9 : 10-09-2008 09:46 » |
|
Ну дык твоя прога (или часть ее) должна будет с системой запускаться. Конечно не есть гут, зато никого убивать не надо будет - достаточно будет сделать CloseHandle. Насчет примера, надо поискать в архиве, только будет на Delphi - устроит?
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #10 : 10-09-2008 10:25 » |
|
zubr, давай
|
|
|
Записан
|
|
|
|
sss
Специалист
Offline
|
|
« Ответ #11 : 12-09-2008 08:57 » |
|
Я вот только не знаю можно ли это проецировать на драйверы?
Не понял вопроса, но если вопрос, а точно ли она использует дрова, надо ее запустить и посмотреть в диспетчере оборудования. Сейчас практически все модные утилиты (gpuz, filemon и т.д.) несут в себе драйвер как ресурс. Во время запуска копируют ресурс в файл sys, загружают его, используют, затем выгружают и удаляют...
|
|
|
Записан
|
while (8==8)
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #12 : 12-09-2008 09:51 » |
|
sss, я в том плане, что она делает это с пользовательскими длл, а не ядрёнными. Те сможет ли она так же запросто обращаться с процессами запущенными на уровне ядра.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "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."
|
|
|
Mayor
Специалист
Offline
|
|
« Ответ #13 : 29-10-2008 12:29 » |
|
возможно ли сделать такое: к примеру, com1 занят (тойст открыт) некой программой (не моей) , а мне хочется, чтобы порт освободился и самому подключится к нему. Как заставить программу закрыть порт или хотябы жёстко "оторвать" от порта ?
тебе это административно или программно надо сделать?
|
|
|
Записан
|
1n c0de we trust
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #14 : 29-10-2008 12:49 » |
|
Mayor1, из политических убеждений кстити, так руки и не добрались до этого, обошлося вроде )
|
|
|
Записан
|
|
|
|
|