Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
адрес PCI-устройства 14.11.03 10:03 Число просмотров: 1435
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 14.11.03 10:20 Количество правок: 1
|
> может быть это нужно было в Programming спросить, но это > очень близко к железу
Наверное можно и здесь, в программинге больше как-то алгоритмические языки, системные функции, библиотеки и алгоритмы обсуждают.
> в списке устройств винда показывает ресурсы устройства - > диапазон адресов > правильно ли я понимаю, что по этим адресам регистры > устройства отображены в физическую память компа?
Правильнее сказать "в адресное пространство центрального процессора", но об этом ниже.
> т.е. при обращении по этим адресам памяти на самом деле > происходит взаимодействие с этим устройством? > > если да, то достаточно ли в NT в драйвере напрямую писать > по этим адресам, как по обычному указателю? > а в 9x в драйвере?
Для хакерской программы достаточно стукнуться по тем адресам, что видно.
По-хорошему нужно понять одинаковый ли это ресурс по назначению для всех подобных устройств (например видеопамять видеоадаптера).
Лучше, конечно, программно узнать что это за устройство (найти то, которое нужно) по параметрам DeviceID, VendorID, DeviceTYPE и др. Затем узнать его адреса, поскольку они могут меняться произвольным образом (ПНП). Затем стучаться по этим адресам, руководствуясь техническим описанием. Программа будет заточена только под этот вид устройств.
Причем из-под ДОСа это элементарно, под ВинНТ проблемы гарантированы (либо винда не даст прямой доступ, либо будут коллизии от одновременного доступа нескольких программ, поскольку винда многозадачная).
Разумеется следует различать адреса портов и памяти, хотя чипы могут отображать порты в память.
|
|
|