Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Windows NT и порты

3.3K
28 января 2005 года
londinium
19 / / 06.10.2003
Здравствуйте, Господа.

На работе ДОСовские программеры достали расскзами, что Windows семейства NT не позволяют кому-попало шнырять по портам компьютера, а им(программистам) этго очень хочется. Я уже себе стер часть языка, объясняя им смысл такой постановки вопроса. Говорил о хакерах, ну, короче, пугал, как положено. Не отстают. Помогите, пожалуйста,найти дполнительные аргументы.
Заранее всем спасибо за ответы.
243
29 января 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by londinium
Здравствуйте, Господа.

На работе ДОСовские программеры достали расскзами, что Windows семейства NT не позволяют кому-попало шнырять по портам компьютера, а им(программистам) этго очень хочется. Я уже себе стер часть языка, объясняя им смысл такой постановки вопроса. Говорил о хакерах, ну, короче, пугал, как положено. Не отстают. Помогите, пожалуйста,найти дполнительные аргументы.
Заранее всем спасибо за ответы.


Во первых - по каким портам шнырять? По аппаратным - если судить по вопросу. Я прав? Если так, то тут хакеры не причем (нужно будет - они на любые пролезут, и ОС в этом не помеха, а только помощь). Да и смысл вопроса действительно не очень ясен - какие требуются ответы?
Если кратко, и с точки зрения теории, то вся работа с оборудованием в ОС осуществляется на уровне ядра системы, а пользовательские программы работают в пользовательском (непривелигированном) режиме. Т.к. современные ОС все как одна - многозадачные, то при попытке программы самостоятельно захватить в свое пользование какой-либо аппаратный ресурс, она получает пинка от ОС. Все обращения к аппаратуре должны контролироваться ОС и осуществляться при помощи API-функций (они же - системные вызовы, работающие в режиме ядра). Т.е. если вы попытаетесь сделать что-то недозволенное с точки зрения ОС (например сделать из LPT-порта гирлянду), то у вас ничего не получится даже при помощи API. Ну а если все же надо, то можно написать драйвер и установить его в системе - тогда, делайте что вам угодно с любыми портами. Правда если драйвер будет написан хотя бы чуть-чуть коряво, то вся система рухнет вместе с вашим драйвером.
ЗЫ ИМХО: либо прогеры пытаются над вами приколоться, либо их нужно гнать с работы.

3.3K
29 января 2005 года
londinium
19 / / 06.10.2003
Цитата:
Originally posted by pacific_7

Во первых - по каким портам шнырять? По аппаратным - если судить по вопросу. Я прав? Если так, то тут хакеры не причем (нужно будет - они на любые пролезут, и ОС в этом не помеха, а только помощь). Да и смысл вопроса действительно не очень ясен - какие требуются ответы?
Если кратко, и с точки зрения теории, то вся работа с оборудованием в ОС осуществляется на уровне ядра системы, а пользовательские программы работают в пользовательском (непривелигированном) режиме. Т.к. современные ОС все как одна - многозадачные, то при попытке программы самостоятельно захватить в свое пользование какой-либо аппаратный ресурс, она получает пинка от ОС. Все обращения к аппаратуре должны контролироваться ОС и осуществляться при помощи API-функций (они же - системные вызовы, работающие в режиме ядра). Т.е. если вы попытаетесь сделать что-то недозволенное с точки зрения ОС (например сделать из LPT-порта гирлянду), то у вас ничего не получится даже при помощи API. Ну а если все же надо, то можно написать драйвер и установить его в системе - тогда, делайте что вам угодно с любыми портами. Правда если драйвер будет написан хотя бы чуть-чуть коряво, то вся система рухнет вместе с вашим драйвером.
ЗЫ ИМХО: либо прогеры пытаются над вами приколоться, либо их нужно гнать с работы.




Спасибо за ответ, я действительно имел ввиду аппаратные порты компьютера. Я им именно так и говорил, что с помощью драйвера можно, в принципе, соорудить, что угодно, но, наксколько, мне известно, написание драйверов (корректных и непадающих) само по себе каторжный труд, а хочется как во времена первых ЭВМ: шляйся по памяти, по аппартным портам как угодно, и никто тебе не указ.

Еще раз Вам спасибо. Обязатекльно процитирую Ваш ответ.

Londinium

9.6K
29 января 2005 года
svy
7 / / 15.01.2005
Цитата:
Originally posted by londinium



Спасибо за ответ, я действительно имел ввиду аппаратные порты компьютера. Я им именно так и говорил, что с помощью драйвера можно, в принципе, соорудить, что угодно, но, наксколько, мне известно, написание драйверов (корректных и непадающих) само по себе каторжный труд, а хочется как во времена первых ЭВМ: шляйся по памяти, по аппартным портам как угодно, и никто тебе не указ.

Еще раз Вам спасибо. Обязатекльно процитирую Ваш ответ.

Londinium



Вах! Люди задавайте вопросы кАрректно, а то в ответы потом сложновато вникать! Мол.чел. Londinium, надо было сразу конкретнее объяснить сто надо-то! Я когда прочитал вопрос первый раз даже догнать не смог про что он. Вопрос: при чем тут хакеры и физические порты РС. Как я помню из описания языка ассемблер, системе вообще параллельно что ей там приходит от устройтв на порты, если эти данные не требуются какой-то проге.

3.3K
29 января 2005 года
londinium
19 / / 06.10.2003
Цитата:
Originally posted by svy


Вах! Люди задавайте вопросы кАрректно, а то в ответы потом сложновато вникать! Мол.чел. Londinium, надо было сразу конкретнее объяснить сто надо-то! Я когда прочитал вопрос первый раз даже догнать не смог про что он. Вопрос: при чем тут хакеры и физические порты РС. Как я помню из описания языка ассемблер, системе вообще параллельно что ей там приходит от устройтв на порты, если эти данные не требуются какой-то проге.



Больше не буду:) Просто очень допекли

Londinium

243
30 января 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by svy

Как я помню из описания языка ассемблер, системе вообще параллельно что ей там приходит от устройтв на порты, если эти данные не требуются какой-то проге.


Интересно, а при чем описание языка асм и какая-то конкретная ОС?
"системе вообще параллельно что ей там приходит от устройтв на порты" - очень печально, что вы так думаете:
Видел своими глазами, как одни гореписатели, точка зрения которых на этот вопрос была аналогична вашей, стали посылать информацию в бесконечном цикле на все порты в диапазоне 0x00 - 0xFF. Ну и попала эта информация на порт дисплея, порт клавиатуры и на много чего еще. Дисплей стал показывать невероятнейшие картинки, клава отказала, остальное работало наверняка так же, только проверить это как вы понимаете уже нельзя было.
Дело происходило в досе... Вот и ответ, почему винда не позволяет таких вольностей уважаемый Londinium. Представляете что будет, если случайно такая прога запустится на сервере или ответственном рабочем компе, а не на личной машине горе-эксперементатора.

9.6K
30 января 2005 года
svy
7 / / 15.01.2005
Цитата:
Originally posted by pacific_7

Интересно, а при чем описание языка асм и какая-то конкретная ОС?
"системе вообще параллельно что ей там приходит от устройтв на порты" - очень печально, что вы так думаете:
Видел своими глазами, как одни гореписатели, точка зрения которых на этот вопрос была аналогична вашей, стали посылать информацию в бесконечном цикле на все порты в диапазоне 0x00 - 0xFF. Ну и попала эта информация на порт дисплея, порт клавиатуры и на много чего еще. Дисплей стал показывать невероятнейшие картинки, клава отказала, остальное работало наверняка так же, только проверить это как вы понимаете уже нельзя было.
Дело происходило в досе... Вот и ответ, почему винда не позволяет таких вольностей уважаемый Londinium. Представляете что будет, если случайно такая прога запустится на сервере или ответственном рабочем компе, а не на личной машине горе-эксперементатора.


Родной мой! Описание ассемблера здесь при том, что там ясно написано "считать из порта", "послать в порт". Ты сам заметил что сказал! "Дисплей стал показывать невероятнейшие картинки, клава отказала, остальное работало наверняка так же, только проверить это как вы понимаете уже нельзя было." Все глюки шли за счет того что попадали на порты оборудования! Ессесно что нигде не написано что комманд.ком сам начал делать "формат С" потомучто на порт ХХХ кто то прислал "дие, дие". Я согласен что в винде такого нет, но дело тут не в этом!

243
31 января 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by svy

Родной мой! Описание ассемблера здесь при том, что там ясно написано "считать из порта", "послать в порт".

(Как эмоционально однако!)
И что дальше? Асмы для разных платформ - разные.
Программулина была на паскале без ассемблерных вставок => можно по подробнее с причастностью описания асма к данной теме. Видимо я просто недопонял вашей мысли.

Цитата:
Originally posted by svy
Я согласен что в винде такого нет, но дело тут не в этом!

Не все делов этом. Это - в частности.

Цитата:
Originally posted by svy
Ессесно что нигде не написано что комманд.ком сам начал делать "формат С" потомучто на порт ХХХ кто то прислал "дие, дие".


Видимо у нас с вами различное понимание слова "система". Я понимал весь программно-аппаратный комплекс компьютера, а вы - только программный. Хотя в нашем случае помоему нужно учитывать как раз все в совокупности.

259
01 февраля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by londinium
Здравствуйте, Господа.

На работе ДОСовские программеры достали расскзами, что Windows семейства NT не позволяют кому-попало шнырять по портам компьютера, а им(программистам) этго очень хочется. Я уже себе стер часть языка, объясняя им смысл такой постановки вопроса. Говорил о хакерах, ну, короче, пугал, как положено. Не отстают. Помогите, пожалуйста,найти дполнительные аргументы.
Заранее всем спасибо за ответы.


И в Windows NT это все можно сделать. Пусть не ноют, [color=red]учат мат. часть[/color]. Для настоящего программиста это очень веский аргумент.

243
02 февраля 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by AlexandrVSmirno

И в Windows NT это все можно сделать. Пусть не ноют, [color=red]учат мат. часть[/color]. Для настоящего программиста это очень веский аргумент.


Окромя драйверов, насколько я знаю, только при помощи "недокументированных" возможностей - выполнения пользовательских приложений в привелегированном режиме. Я прав? Или есть еще лазейки?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог