3g module driver что это за драйвер

Драйвер модема Что такое драйвер?

Сетевые драйверы можно разделить на 2 категории: драйверы TDI (интерфейс транспортного драйвера) и драйверы NDIS (спецификация интерфейса сетевого драйвера). ). Драйверы TDI — это высокоуровневые драйверы, такие как SMB-клиент, SMB-сервер, SMB-контейнеры (NFFS, MSFS) и т. д. Рассмотрим драйверы NDIS. NDIS — это специальный драйвер (соответствует файлу ndis.sys), который содержит функции, используемые низкоуровневыми сетевыми драйверами. NDIS, так сказать, обертывает низкоуровневые сетевые драйверы и является посредником в их общении друг с другом и с оборудованием. По сути, NDIS можно считать третьим ядром Windows. Чтобы лучше понять, что такое NDIS, посмотрите на следующее изображение:

  • Драйверы минипорта (драйверы адаптера)
  • Промежуточные драйверы (например, psched. sys )
  • Драйверы протокола (например, tcpip.sys)
Драйверы минипорта
  • инициализирует ваше устройство (адаптер)
  • создавать/включать/отключать/удалять сетевые соединения
  • проблема клиента или изменение параметров адаптера
  • отправка пакетов
  • получение пакетов
  • уведомление ОС о состоянии адаптера
  • перезапуск и остановка адаптера

Драйверы минипорта являются «автономными» (например, драйвер адаптера Ethernet) и «ориентированными на соединение» (например, драйвер модема). Для драйверов, ориентированных на соединение, система обратного вызова немного сложнее, содержит обработчики событий, связанные с подключением к каналу связи, отключением от канала, выбором канала (для беспроводных адаптеров) и т. д. Для некоторых операций обработчики, ориентированные на соединение вызывать специальные функции NDIS, отличающиеся префиксом «Что» в имени (например, вместо NdisMIndicateReceivePacket обработчик, ориентированный на соединение, должен вызывать NdisMColndicateReceivePacket).

Каждый обратный вызов выполняет свою работу: транслирует информацию, отправляет данные , получать данные и т. д. Дополнительные сведения см. в справке WDK (DDK). Полную информацию об обратных вызовах можно получить здесь.

Драйверы протоколов могут доверять драйверу минипорта (если драйвер минипорта может это делать сам по себе или адаптер аппаратного уровня), некоторым из его функций ( таких как разграничение контрольной суммы или цифровая подпись IP-пакета или использование метода фрагментации больших пакетов TCP). Это значительно повышает производительность сети.

  1. LBFO (балансировка нагрузки и отказоустойчивость): позволяет адаптерам, понимающим это, распределять между собой исходящий трафик и исправлять ошибки друг друга. Однако это имеет смысл только на магистральных маршрутизаторах (основных маршрутизаторах больших сетей), которые редко устанавливаются в Windows
  2. FFP (Fast Forward Path) — позволяет адаптерам, понимающим это, маршрутизировать/фильтровать пакеты чисто аппаратно, без подключения ОС и без загрузки основных процессоров компьютера
Промежуточные драйверы

Промежуточный драйвер, видимый сверху как драйвер минипорта (см. изображение), т.е. виртуальный адаптер и снизу, как драйвер протокола (опять же см. рисунок), как виртуальный протокол. В особом случае средний контроллер может быть виден только сверху.

  • обеспечить «честный» доступ различных клиентских программ к адаптерам, чтобы программы не мешали друг другу
  • фильтрация и захват трафика
  • маршрутизация пакетов из одной сети в другую, если сети разные (например, Ethernet и WI-FI)
Драйверы протоколов

Драйверы протоколов являются высшим уровнем спецификации NDIS. Эти драйверы выделяют ресурсы соответствующим пакетам, копируют данные приложений в пакеты и передают их драйверам более низкого уровня. Драйверы протоколов также предоставляют интерфейс для приема пакетов от нижележащих драйверов.

Драйверы протоколов включают транспортные драйверы, реализующие стек сетевых протоколов, например TCP/IP (tspip.sys).

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

Что такое этот драйвер для? Драйвер модема LSI High Definition Audio (HDA)?

Для подключения к Интернету дома требуется модем или маршрутизатор, в настоящее время ноутбуки могут заменить сам маршрутизатор, но не модем и старые ноутбуки могут заменить модем, в вашем случае, если у вас есть доступ в Интернет через телефонную линию, вы можете использовать ноутбук вместо модема

FuaD AI Sound Modem Driver (154636)? странно)) могут потребоваться отдельные драйвера

Через Python to the Wild

Конечно, я хотел создать свой небольшой «инструментарий» для различных исследований и экспериментов на основе указанного драйвера. И что мне действительно нравится в Python, так это то, насколько легко реализовать сложные вещи на этом языке.

Первым шагом является установка драйвера в системе и его запуск. Делаем «как положено» и сначала размещаем драйвер (нужной разрядности!) в System32:

В подобных ситуациях я когда-то игрался с папкой %WINDIR%\Sysnative, но почему-то на моя текущая система не имела такого псевдонима, хотя Python 32-битный. (Теоретически, в 64-битных системах вызовы из 32-битных программ в папку System32 перенаправляются в папку SysWOW64, и если вы хотите поместить файл в System32, вы должны вызывать его с именем Sysnative.)

Затем регистрируем контроллер в системе и запускаем его :

И далее запущенный контроллер создает виртуальный файл (кстати, тот самый столбец «название» в таблице анализа дров), через запросы, над которыми выполняются другие действия:

И еще один полезный системный трекер, WinObj

Ничего особенного, откройте и конвертируйте его в IoCtl :

Вот подробнее. Я долго думал, как обеспечить корректную обработку ситуации, когда запущено несколько таких «скриптов». Не останавливать обработчик при выходе нехорошо, в идеале мы должны увидеть, не используется ли обработчик кем-то другим, и остановите его, только если наш скрипт «последний». Долгие упорные попытки получить количество открытых ссылок на файл виртуального драйвера ни к чему не привели (я получил только количество ссылок внутри своего процесса). Сама система тоже точно знает, как это сделать: при остановке драйвера с открытым файлом зависает на «Ожидание остановки». Если у кого-то есть идеи, буду признателен.

Наконец-то я «посмотрел» на то, как это делают другие программы. Оказывается, большинство не беспокоятся или просто ищут запущенные процессы с тем же именем. Но в одной из программ, которые я изучал, был радикально другой подход, который я выбрал для себя. Вместо того, чтобы беспокоиться о количестве ссылок на файл, мы просто открываем и закрываем файл при каждом запросе! А если файла нет, значит кто-то остановил контроллер и попытался его перезапустить:

А потом покрутить контроллер и реализовать все нужные нам вызовы:

Легко и просто читать физическую память с помощью нескольких команд

В чем смысл, капитан?

В архитектуре x86 существует понятие «кольца» («Ring «): режимы работы процессора. Чем меньше номер текущего режима, тем больше опций доступно для исполняемого кода. Самое ограниченное «кольцо» — «Кольцо 3», самое привилегированное — «Кольцо -2» (режим SMM). Исторически сложилось так, что все пользовательские программы работают в режиме Ring 3, тогда как ядро ​​операционной системы работает в Ring 0:

Читайте также:  Amd all in 1 driver что это за драйвер

режимы работы процессора x86

Ring 3 не позволяет программам выполнять потенциально опасные действия, такие как доступ к портам ввода-вывода и физической памяти. По логике разработчиков программы Common Computer не нуждаются в таком низкоуровневом доступе. Только операционная система и ее компоненты (службы и драйверы) имеют доступ к этим функциям. И все бы ничего, но однажды мне попалась программа RW Everything:

RW Everything на самом деле читает и пишет почти все

Это программа была загружена с точно такими же функциями, которых обычно нет у программ Ring 3: полный доступ к физической памяти, портам ввода-вывода, пространству конфигурации PCI (и многому другому). Естественно, мне стало интересно, как это работает. И получается, что RW Everything установит драйвер на прокси-систему:

Видим последний драйвер, установленный через OSR Driver Loader

Что такое Софтмодем и чем он нам угрожает? Комментарий

Пожалуй, стоит начать с мифов о невероятных требованиях к вычислительной мощности устройства (процессора), необходимых для реализации модемных протоколов связи, возникших еще во времена процессоров i8086. Как показывает современная практика, требования к ресурсам процессора составляют около 10 % для процессора класса Pentium II с тактовой частотой 400 МГц и около 40 % для процессора Pentium с тактовой частотой 200 МГц с полным программным обеспечением. мягкий модем. Модемы HSP с собственным DSP обеспечивают еще меньше накладных расходов. С появлением центральных процессоров следующего поколения эти цифры могут быть значительно уменьшены. Что касается утверждения о большем потенциале аппаратных модемов в плане реализации новых функций и протоколов — к сожалению практика показала наоборот — если владельцы модемов Courier могли успешно модернизировать их для поддержки V.90 (владельцы sportster должны были заплатить определенную сумму, помимо того, что уже было заплачено при покупке модема), то в большинстве случаев пользователь аппаратных модемов был вынуждают покупать новое устройство, как это случилось, например, с относительно дорогими модемами Zyxel, когда V.32 -> V.34-> V.34bis-> V.90. При этом существующему модему может не хватать лишь небольшого процента вычислительной мощности, однако серьезные ограничения аппаратного решения вынудили полностью отказаться от возможности апгрейда. Ярким примером является компания Digicom Systems, выпустившая модем серии Connection 96. Перспективы были многообещающими: при начальной максимальной скорости 9600 бит/с через некоторое время была выпущена версия прошивки с поддержкой 14400 бит/с, которая, казалось, сулила блестящее будущее. в виде обновления протокола V34. И вдруг все кончилось: вычислительной мощности ADSP2115 хватило только на реализацию скорости 19200 бит/с протокола V32Terbo. Это значит, что покупателя сначала заманивают обещаниями апгрейдов и прочих приятных возможностей, потом все это оказывается обманом, который приводит к уплате за такой модем дополнительной суммы денег. Это наглядно демонстрирует преимущества производства аппаратных модемов как для производителей
, так и для розничных продавцов.

В последнее время коммерческие программные модемы можно четко разделить на две категории: полнофункциональные программные модемы, не имеющие собственного полнофункционального DSP. и включает в себя полнофункциональный генератор наборов частот, необходимых для реализации протоколов, включая V.90, и фильтр для цифровых входных и выходных сигналов модема. , и наборы микросхем Rockwell HCF/SoftK56, такие как AZtech MSP3880.

Вторая группа программных модемов включает модели на основе DSP, которые имеют полный DSP, но не имеют контроллера, участвующего в реализации командного интерфейса AT и работающего над управлением DSP и данными. сжатия.

Требуемая производительность этого контроллера очень низкая и может быть оценена примерно в 4 раза выше, чем у процессора i8086, работающего на частоте 4,77 МГц.

Модемы на основе Типичным примером является чипсет Lucent 164x. Готовые модемы на их основе выпускают, например, Genius GM 56PCI-L, FIC GM56PCI, Paradise WaveCom 56K PCI. , Java-приложение виртуальной машины, не совсем верно, на самом деле скорее следует сказать об оставшихся ресурсах процессора для запуска Win32-приложений после того, как программный модем уже занял часть процессорного времени, необходимого для работы, потому что, в отличие от этих приложений, драйвер модема работает с приоритетом ядра системы и процессорного времени ему не хватает, например, чтобы работающая программа сама получала данные от модема и сохраняла их на диск в виде файла. Кроме того, разработчики Motorola и Smart Link взяли и запатентовали некоторые методы, позволяющие избежать возможных проблем с программными драйверами модема, кроме того, программисты Motorola утверждают, что смогли обрабатывать критические события модема в режиме реального времени. Так думают и специалисты Rockwell, которые реализована технология Latency Guard. Правда, следует отметить, что подобные методы требуют подготовки хакера, а не системного программиста, но это связано с недостатками самой системы Windows, и другого выхода просто нет. реальная основа. В крайнем случае возможной монополизации ресурсов процессора плохо написанной программой это, конечно, приведет к отключению программного модема и приостановке процесса приема и передачи данных аппаратным модемом. Кстати, при больших задержках в этом процессе аппаратный модем уж точно не разорвет соединение, но не исключены и сбои протоколов более высокого уровня (например, TCP/IP), что также может привести к необходимости повторного подключения. установить соединение. В связи с этим хотелось бы обратить внимание на следующее: аппаратные модемы обеспечивают более высокую скорость передачи данных, чем программные модемы, даже благодаря относительно слабо разработанным драйверам для последних, и отставание в некоторых случаях может достигать сотен CPS. И тут есть еще одна проблема, которая близка российскому пользователю, работающему с повременной оплатой интернет-услуг — при работе с софт-модемом достаточно длительное время (месяцы, годы) экономия на покупке может оказаться мнимой. — если пользователь в основном занимается приемом/передачей файлов значительного объема, то разница в оплате услуг интернет-провайдера при работе с программно-аппаратным модемом может составлять значительную сумму денег, причем не в пользу другое.

Что касается рекламы, которая не всегда корректна, — хотелось бы привести другой пример — как одно из преимуществ софтмодемов для портативных ПК, выпускаемых в виде PC CARD или MDC (Mobile Daughter Card ), они обеспечивают значительную экономию энергии. также представлены, учитывая, что у таких модемов ток потребления действительно крайне низкий; в первую очередь это связано с минимальным уровнем интеграции используемых в данном случае микросхем. Однако они немного умалчивают о том, что аппаратный модем может требовать лишь минимальных вычислительных ресурсов для загрузки файлов, например, работая в режиме энергосбережения на частоте 8 МГц, процессор ноутбука вполне справится с этой задачей, в то время как при нормальной работе мягкого модема потребуется пятикратное увеличение его частоты; в результате вместо экономии энергии мы добьемся повышенного энергопотребления.

Читайте также:  H драйвер для подключения к ком

Насчет сложности защиты ПО путем разработки собственных или модификации существующих драйверов для софтмодемов: собственно, вариант с драйверами для русских телефонные линии не лишены привлекательности хотя бы потому, что доступны исходные тексты драйверов производителя, их модификация значительно упрощается за счет использования популярного и давно изученного кода x86, без необходимости изучения набора инструкций и столкновений с различными ограничениями специализированных драйверов, таких как аппаратные модемы.

Что касается статьи автора, в которой упоминается о необходимости иметь звуковую карту ПК для реализации голосовых возможностей программного модема — в данном случае у них нет аппаратных у модемов нет преимуществ перед программными модемами — разъемы для подключения телефона Гарнитуры имеются как и у большинства голосовых модемов внутреннее аппаратное обеспечение с поддержкой голосовых функций и у многих программных модемов; поэтому звуковая карта не нужна, а если иметь в виду внешние аппаратные модемы с качественным встроенным динамиком и микрофоном, то таких моделей единицы. В случае с AMR-модемами это тоже не так: несмотря на отсутствие разъема для наушников и, в большинстве случаев, встроенного динамика, эти модемы устанавливаются в слот материнских плат, уже имеющих AC-кодек и, впоследствии , разъемы на материнской плате для подключения внешних источников сигнала.

Что касается перспектив шины ISA, то заметно давление с обеих сторон, как со стороны производителей чипсетов (Intel), так и со стороны операционных систем. Насколько мне известно, в ОС Microsoft Millennium2000 просто не предусмотрена поддержка шины ISA, и нельзя однозначно сказать, будут ли производители материнских плат нести дополнительные затраты на установку дорогого моста PCI/ISA в течение длительного времени. Сегодня, принимая решение о покупке внутреннего модема на шине ISA, покупателю следует очень серьезно задуматься о правомерности такого шага и, в первую очередь, рассмотреть возможные альтернативы, его не следует считать чем-то экстраординарным: софтмодем — это тот же устройство как, например, звуковая или видеокарта, и по многочисленным отзывам людей, использующих софтмодемы, эти же звуковые карты выпущены относительно недавно, создавая не меньшие проблемы, связанные с совместимостью и стабильностью системы в целом. Вернемся к надежности аппаратных модемов — из-за ошибок прошивки они иногда могут просто зависнуть, и если проблема с внешними модемами решалась их повторным включением, то для возобновления работы внутренних моделей приходилось выключать все компьютеры , что было нередко, например, с более ранними версиями модемов USR Sportster на основе TMS.

Эти модемы вполне способны конкурировать
с аппаратными модемами в самом низком ценовом диапазоне. Также следует обратить внимание на то, что модем имеет разъемы для подключения микрофона и наушников — в продаже есть два типа моделей — представленные на рынке модели могут не иметь этой функции, что при отсутствии звуковой карты в ПК, не позволит модему работать как записывающее устройство.

2. При выборе полноценных софтмодемов, например, на базе чипов SiLabs, STMicroelectronics (контроллеры Smart Link): Эти модемы могут вызвать неоправданные трудности как при установке связь и при работе на некачественных линиях, а также отсутствие реализованных в настоящее время драйверов эмуляции COM-порта от указанных фирм для работы в DOS-окне операционной системы Windows.

3. Пользователь должен быть подготовлен на предмет возможных аппаратных конфликтов при установке таких модемов и уметь их решать — как показывают ответы читателей — наиболее распространенными проблемами являются конфликты со звуковой картой с неправильным распределением IRQ в системе, проблемы с установкой адреса и прерыванием работа модема на нужном COM порту, установка установки модема в слот PCI рядом с AGP, отсутствие установленной поддержки PCI IRQ для сторонних чипсетов (VIA, SiS и т.д.) или устаревшая версия драйверов самого модема.

4. В некоторых случаях в поставке с ОЕМ модемы могут не содержать драйверов например для OC Windows NT, как в случае с модемами Zoltrix Phantom. Также требуются определенные знания со стороны пользователя для самостоятельного получения последних версий программного обеспечения с сайта производителя.

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

Чтение BIOS

В качестве примера использования нашего «инструментария» попробуем набросать сценарий чтения BIOS. Он должен быть «сопоставлен» где-то в конце 32-битного адресного пространства, потому что компьютер начнет его выполнение с адреса 0xFFFFFFFF0. Обычно ПК имеет флеш-память 4-16 МБ, поэтому мы «сканируем» адресное пространство с адреса 0xFF000000, как только найдем что-то не пустое, будем считать, что здесь был запущен БИОС :

В результате получаем:

Итак, мы считаем BIOS до 10 строк

Но подождите, они всего лишь 6 мегабайт, а надо 4 или 8, что-то не складывается. Так вот у чипсетов Intel под адресное пространство отводится не вся флешка биоса, а только один из его регионов. А для чтения всего остального надо использовать SPI.

Ничего, мы зашли в техпаспорт и обнаружили, что SPI зависает на PCI Express:

А для его использования нужно взаимодействовать с регистрами в BAR0 MMIO по алгоритму:

Установить адрес чтения в BIOS_FADDR

Установить параметры команды в BIOS_HSFTS_CTL

Чтение данные из BIOS_FDATA

Увидел новый скрипт для чтения чипсета:

Запускаем его и вуаля: флешка биоса на 8 Мб читается в 20 строк! код! (нюанс: в зависимости от конфигурации МЕ-область может быть не читаема).

Точно так же можно делать, что хочешь: создать USB-сниффер пакетов, посылать на диск произвольные ATA-команды, увеличивать частоту процессора и поменять видеокарту. И все, с обычными правами администратора:

После некоторых усилий мы получили ответ от SSD на команду идентификации

Что, если вы написать свой драйвер?

Некоторые из вас, наверное, уже подумали: зачем столько изворачиваться, листать чужие драйвера, когда можно написать свой? И я подумал об этом. Существует также проект с открытым исходным кодом chipec, который уже разработал аналогичный драйвер.

При переходе на кодовую страницу драйвера вы сразу же найдете предупреждение:

В этом предупреждении описаны все опасности Я говорил в начале статьи: инструмент мощный и опасный, его следует использовать только в тестовом режиме Windows и ни в коем случае нельзя его подписывать. Да без специальной подписи на обычной системе просто не запустить драйвер. Поэтому в примере выше мы использовали предварительно подписанный драйвер от ASRock.

Если он хочет кто-то действительно подпишет свой собственный драйвер, они должны зарегистрировать свою собственную компанию и заплатить Microsoft. Что я гуглил, людям такое веселье недоступно.

Читайте также:  Commview как установить драйвер

точнее думал, перед этой статьей видел крайне интересный абзац:

у меня нет у меня нету У меня не было под рукой Windows DDK, поэтому я взял 64-битный файл vfd.sys, скомпилированный некоторыми обозревателями, и попросил dartraiden подписать его «в старом китайском стиле». Указанный драйвер загружается корректно и работает, если vfdwin запущен с правами администратора

Драйвер в статье подписан и действительно каким-то китайским ключом:

Получается, что информация о подписи как раз и видна в свойствах… А я учился на HEX

Немного погуглил название и наткнулся на эту ссылку, из которой знаю, что :

есть утечка и отозванные ключи подписи драйверов

если они подпишут драйвер, то система отлично его примет

вредоносное ПО во всем мире использует его для создания вируса

Основная проблема заключается в том, чтобы заставить Microsoft SignTool подписать драйвер ключом с истекшим сроком действия, но для этого даже есть проект на GitHub. Я также нашел на GitHub проект другого инструмента для подписи драйверов TrustAsia, который позволяет заменить подпись на любую дату.

Несколько минут возни с Google Translate на моем телефоне и мне удалось взломать эту утилиту и подписать драйвер. с одним из утекших ключей (который легко найти в китайском поисковике):

Действительно, китайский алфавит

И просто вроде AsrDrv101, драйвер загрузился без проблем!

А вот как работает наш драйвер

Что наводит на Идея написания собственного драйвера довольно хороша. Функционала сопоставления памяти просто недостаточно. Но да ладно, оставлю ВСЕ.

Винда: добраться до железа

Мне всегда было интересно низкое Программирование на уровне программирования: общение напрямую с оборудованием, манипулирование реестрами, детальное понимание того, как все работает. К сожалению, современные операционные системы максимально изолируют аппаратное обеспечение от пользователя, и невозможно просто что-то записать в физическую память или регистры устройства. Думал точнее, а на деле оказывается, что так делают почти все производители железа!

Конфигурационное пространство PCI Express

Немного отвлечемся от нюансов конфигурационного пространства PCIE. С этим адресным пространством не все так просто: со времен шины PCI использовался метод, использующий порты ввода-вывода 0xCF8/0xCFC для доступа к своему конфигурационному пространству. Также используется в нашем драйвере AsrDrv101:

Чтение и запись пространства конфигурации PCI

Но с этим методом доступно только 0x100 байт пространства конфигурации. в то время как в стандарте PCI Express размер пространства конфигурации для устройства может составлять до 0x1000 байт. И прочитать их полностью можно только обратившись к расширенному конфигурационному пространству PCI, которое выделено где-то в адресном пространстве, обычно чуть ниже BIOS:

Адрес x86 современное машинное пространство, 0-4GB

На чипсетах Intel (ну, на большинстве из них) указатель на эту область адресного пространства можно взять из настройки устройства PCI 0:0:0 при смещение 0x60, подробнее они есть в даташитах:

Ничего подобного на AMD я не нашел (уверен, что искал не очень хорошо), но сам факт неуниверсальности заставил меня искать другое решение. Поискав стандарты, я обнаружил, что указатель на эту область передается в систему через ACPI-таблицу MCFG

А сами ACPI-таблицы можно найти через вход RSDP, ища их сигнатуру в 0xE0000-0xFFFFF и затем анализ таблицы RSDT. Отлично, здесь пригодится функция поиска в памяти. Получаем примерно следующее:

На всякий случай оставляем вариант для чипсетов Intel

Все, теперь осталось заменить чтение PCI Express Config Space через драйвер на чтение памяти при необходимости. А теперь пройдемся!

Выводы?

Как видите, с правами администратора вы можете делать на своем компьютере почти все, что угодно. Будьте осторожны: установка утилит от производителя оборудования может стать дырой в вашей системе. Ну а те, кто хочет поэкспериментировать со своим ПК, добро пожаловать на низкий уровень! Работа опубликована на GitHub. Будьте осторожны, бездумное использование приводит к появлению BSOD.

В Windows есть функция «изоляции ядра», которая разрешает ввод-вывод MMU, защищает от атак DMA и т. д. serial)

Таким образом, когда эта опция включена, некоторые драйверы (в том числе RW Everything и chipec_hlpr с китайской подписью) перестают работать:

Прокси-драйверы

В результате получается решение: все что программе запрещено делать, разработчик вставляет драйвер, программа устанавливает драйвер в систему, а через него и программу драйвера! будет делать то, что вы хотите! Также оказывается, что RW Everything — далеко не единственная программа, которая это делает. Таких шоу не просто много, они буквально везде. У меня сложилось впечатление, что у каждого достойного производителя оборудования есть похожий драйвер:

Программное обеспечение для обновления BIOS (Asrock, Gigabyte, HP, Dell, AMI, Intel, Insyde…)

Аппаратное обеспечение ПО для настройки и разгона (AMD, Intel, ASUS, ASRock, Gigabyte)

Видео-гайд: 3g module driver что это за драйвер


ПО для отображения информации об оборудовании (CPU-Z, GPU-Z, AIDA64)

ПО для обновления PCI-устройств ( Nvidia, Asmedia)

Во многих из них поведение практически одинаковое: контроллер получает команды типа «вычислить этот физический адрес» и основная логика находится в пользовательском ПО. Я собрал некоторые прокси-драйверы и их возможности в таблице ниже:

Результаты краткого анализа нескольких десятков драйверов. Возможны ошибки!

Mem — чтение/запись физической памяти

PCI — чтение/запись пространства конфигурации PCI

I/O: чтение/запись портов E / S

Allocation: выделение и освобождение физической памяти

Map: прямое преобразование физического адреса в виртуальный адрес

MSR — чтение/запись x86 MSR (реестр для конкретной модели)

Жёлтым цветом обозначены функции, которых явно нет, но которые могут быть использованы другими (чтение или отображение памяти). Мой фаворитом в этом списке является ASRock AsrDrv101. Он самый простой и имеет огромный список возможностей, включая возможность поиска шаблона в физической памяти (!!)

Неполный список возможностей AsrDrv101

Чтение/запись ОЗУ

Чтение/запись ввода/вывода

Чтение/запись пространства конфигурации PCI

Чтение/запись MSR (регистр модели)

Чтение/запись CR (управление регистр)

Чтение TSC (счетчик меток времени)

Чтение PMC (счетчик контроля производительности)

Выделение/освобождение физической памяти

Поиск по физической памяти

Худшее в этой ситуации это если такой драйвер останется запущенным на ПК пользователя, доступ к нему не требует даже прав администратора ! Это значит, что любая программа с правами пользователя сможет читать и писать в физическую память, хоть пароли красть, хоть ядро ​​чинить. Это уже подвергалось критике со стороны других исследователей. Представьте себе висящий фоном софтин, красиво мигающие светодиоды на материнской плате, открывающие доступ ко всей вашей системе. Либо вирусы намеренно устанавливают аналогичный драйвер, чтобы закрепиться в системе. Однако любой мощный инструмент можно использовать во злых целях.

Источник

Поделиться с друзьями
ГроФорум