информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеСетевые кракеры и правда о деле ЛевинаПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / hardware
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
адрес PCI-устройства 13.11.03 22:47  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
может быть это нужно было в Programming спросить, но это очень близко к железу

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

если да, то достаточно ли в NT в драйвере напрямую писать по этим адресам, как по обычному указателю?
а в 9x в драйвере?
Re: адрес PCI-устройства 14.11.03 11:56  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
> правильно ли я понимаю, что по этим адресам регистры
> устройства отображены в физическую память компа?
Регистры отражаются в порты ввода/вывода.
В неиспользуемые оперативной памятью адреса отображается собственная память устройства. Это напоминает работу DMA контроллера с той лишь разницей, что DMA контроллер позволяет каждый раз выделять произвольные адреса для работы устройства (см. свойства контроллера floppy дисков).

> т.е. при обращении по этим адресам памяти на самом деле
> происходит взаимодействие с этим устройством?
Безусловно происходит взаимодействие, иначе какого рожна они там болтаются...

> если да, то достаточно ли в NT в драйвере напрямую писать
> по этим адресам, как по обычному указателю?
> а в 9x в драйвере?
Только в режиме ядра.

Советую почитать книжку по архитектуре i386.
адрес PCI-устройства 14.11.03 10:03  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 14.11.03 10:20  Количество правок: 1
<"чистая" ссылка>
> может быть это нужно было в Programming спросить, но это
> очень близко к железу

Наверное можно и здесь, в программинге больше как-то алгоритмические языки, системные функции, библиотеки и алгоритмы обсуждают.

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

Правильнее сказать "в адресное пространство центрального процессора", но об этом ниже.

> т.е. при обращении по этим адресам памяти на самом деле
> происходит взаимодействие с этим устройством?
>
> если да, то достаточно ли в NT в драйвере напрямую писать
> по этим адресам, как по обычному указателю?
> а в 9x в драйвере?

Для хакерской программы достаточно стукнуться по тем адресам, что видно.
По-хорошему нужно понять одинаковый ли это ресурс по назначению для всех подобных устройств (например видеопамять видеоадаптера).
Лучше, конечно, программно узнать что это за устройство (найти то, которое нужно) по параметрам DeviceID, VendorID, DeviceTYPE и др. Затем узнать его адреса, поскольку они могут меняться произвольным образом (ПНП). Затем стучаться по этим адресам, руководствуясь техническим описанием. Программа будет заточена только под этот вид устройств.
Причем из-под ДОСа это элементарно, под ВинНТ проблемы гарантированы (либо винда не даст прямой доступ, либо будут коллизии от одновременного доступа нескольких программ, поскольку винда многозадачная).

Разумеется следует различать адреса портов и памяти, хотя чипы могут отображать порты в память.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach