Bit 3 Reg#50 |
Bit 3 Reg#52 |
P.I.F. (bin) |
P.I.F. (hex) |
| 0 |
0 |
1000 0000 b |
80h |
| 0 |
1 |
1000 0010 b |
82h |
| 1 |
0 |
1000 1000 b |
88h |
| 1 |
1 |
1000 1010 b |
8Ah |
ПРАКТИКУМ:
Ну а теперь настала пора рассмотреть возможные случаи применения полученных экспериментальным путем данных на практике.
В каких случаях имеет смысл использовать приведенную в статье информацию?
Случай, пожалуй, только один: когда Ваш CD/DVD-привод подключен к IDE-контроллеру.
При этом изменив идентификационные регистры можно ввести вредоносные программы в заблуждение не прибегая к отключению IDE-контроллера (физическому, через БИОС или через Диспетчер устройств). Это особенно актуально, если системный загрузочный жесткий диск подключен к тому же IDE-контроллеру.
Изменение идентификационных регистров SiS-овских IDE-шных контроллеров позволит обломить большинство вредоносных программ (со старморсом во главе), рвущихся к прямому управлению дисками в обход системных драйверов.
Правда, опять же, как и в случае с VIA, придется учитывать баг старфорса версий
3.4.6.x, <благодаря> которому он не смотрел на идентификационные регистры тех устройств, к управлению которыми приступал.
Но это не повод для печали, т.к. по информации с
bestmedia, с данными версиями стара прекрасно справляется
StarForceNightmare версии 1.12.
Почему не имеет смысла изменять регистры SATA-контроллера? Дело в том, что многие вредоносные программы (например, старморс) до сих пор не рискуют работать с SiS-овским SATA-шным контроллером напрямую, даже если он находится в Native IDE mode. Кстати, это касается так же интегрированных SATA-контроллеров других производителей (например, nVidia), программный интерфейс которых (P.I.F.) так же равен
85h.
Специально для тех, кто не совсем все понял, рассмотрю практический примерчик.
Итак, допустим у Вас сложилась одна из следующих ситуаций:
Ситуация 1:
- CD/DVD-привод подключен на IDE-контроллер.
- На этот же контроллер подключен системный жесткий диск.
- Требуется спрятать привод от зловредных программ, но SFNightmare не помогает, а отключение всего контроллера по понятным причинам (см.пункт 2) невозможно.
Ситуация 2:
- CD/DVD-привод подключен на IDE-контроллер.
- Необходимо заставить зловредные программы работать с этим приводом через системные драйвера.
- В качестве вредоносного софта, приложения выступает не старфорс версии 3.4.6.х. (Не забываем, что эта версия содержит ошибку, суть которой в том, что старморс не проверяет идентификационные регистры контроллера, которым собирается напрямую управлять). Если это условие не выполняется, то качаем с инета обновление.
Примечание: В ситуации 2 безразлично, куда подключен системный жесткий диск.
Расписываю по шагам:
Лезем в Диспетчер устройств и выясняем PCI-адрес нашего IDE-контроллера. Он (контроллер) обычно называется "
SiS 5513 IDE UDMA controller"
Жмем свойства и на первой вкладке видим искомый PCI-адрес.
Выяснение PCI-адреса нужного IDE-контроллера необходимо в случае, если этих контроллеров на материнской плате несколько (IDE+SATA, например).
Скачиваем
прогу WPCREDIT, запускаем ее.
Жмем "Ctrl+D", либо в меню выбираем "Edit > Device", либо жмем на пиктограмму
(седьмая слева).
В появившемся списке выбираем устройство по PCI-адресу (в красной рамке).
В моем случае это:
Bus (шина) =
0 Device (устройство) =
2 Function (функция) =
5 У Вас эти значения могут отличаться от моих.
Контролируем правильность выбора устройства по надписи "
IDE Controller" в правом верхнем углу.
Выбираем регистр #57 (строка с этим регистром обозначена как 50, а столбец - 07). Должна получиться примерно такая картина:
Бит 7 регистра 57 подсвечен белым и обведен красной рамкой.
Чтобы изменить DeviceID устройства (обведен голубой рамкой), необходимо изменить этот бит с
1 на
0.
Изменяем. Жмем кнопку "Set" справа.
Подтверждаем изменения.
Чтобы убедиться в том, что DeviceID изменился с 551
3 на 551
8, необходимо опять нажать Ctrl+D и выбрать из списка наш контроллер:
Ну, вот, пожалуй, и вся процедура. Как видите, ничего сложного.
При необходимости можно вернуть все в исходное состояние.
Дополнение от 31.03.2006: Благодаря необычайной личной заинтересованности учаcтника форума
acaN? была найдена информация о способах смены регистра DeviceID IDE-контроллера на некоторых других южниках от SiS.
Цитирую (практически полностью)
мое сообщение в форуме на эту тему:
acaN?
цитата:
"Fortunately the 5513 can be 'unmasked' by fiddling with some config space
bits, changing its device id to the true one - 5517 for 961 and 5518 for
962/963."
Т.е. Device ID меняется...
Спасибо за ценнейшую наводку.
Оказывается, DeviceID меняется на SiS962 / SiS963 так же, как и у SiS964 (который в моей статейке рассмотрен)
Т.е. нужно сбросить в ноль бит 7 регистра 57h.
На SiS961 / SiS961B теоретически DeviceID должен поменяться
после установки в единицу бита 4 регистра 4Ah.
По твоему скриншоту это будет выглядеть примерно так:
Остается лишь кнопочку EDIT нажать
Только учти, что сразу изменения DeviceID ты не увидишь.
Для проверки выбери опять устройство через "Select device..."
На SiS961 / SiS961 rev. B вместо 5518h будет 5517h.
ЗЫ: Вот документ, на основании которого я делаю такие предположения.
Пользуясь случаем, выражаю
acaN? свою благодарность за содействие в решении данного вопроса!
Теперь на практике осталось выяснить следующее:
- Меняются ли SubCode и P.I.F. контроллеров на упомянутых южниках (961/961b/962/963) таким же способом, как в этой статье, или нет ?
- Проверить описанные в статье способы смены регистров на новых южниках (SiS965 / SiS966).
Обсудить эту и другие статьи/записи с моей персональной страницы можно
в соответствующей ветке конференции.