Отправляет email-рассылки с помощью сервиса Sendsay

Screen reader JAWS for Windows Russian

[JFWRus] видеоперехватчик

Уважаемые эксперты рассылки, добрый вечер!
Мне, как начинающему пользователю, крайне интересно узнать о
видеоперехватчике, заранее спасибо.
С уважением, Игорь.

***
Это сообщение No4421
было разослано для 318 участников дискуссионного листа
[JFWRus] видеоперехватчик

Ответить   Игорь Sun, 3 Sep 2006 20:05:34 +0400 (#586661)

 

Ответы:

Здравствуйте,

Я хоть и не эксперт, но постараюсь ответить.

Всегда пожалуйста.

В окошках линии НТ были применены технологии по разделению адресных пространств
различных процессов, чтобы не возникало проблем с лазанием одной программы в
адресное пространство другой. Свои комментарии, совсем нелестные об этих технологиях
я придержу при себе, а результатом такого решения явилась невозможность получить
доступ из адресного пространства одной программы коей являются челюсти к адресному
пространству другой, коей является озвученная программа. Для преодоления такого
состояния дел существует несколько способов, основанных в принципе на перехвате
нескольких функций ядра, например ExtTextOut и прочих для вывода текста.
Способ номер раз.
Написание собственного драйвера видео карты, который встраивается между реальным
драйвером и программой подзвучки. Это было реализовано в челюстях нижних версий.
Затем Билл калитка снизошёл до незрячих и добавил технологию DCM (Device Chaining
manager) в свои продукты. Видео драйвера для челюстей, глазок и т. д. получили
официальную прописку и стали не совсем драйверами, поскольку встраиваются в специально
созданную для них дырку.
Способ номер два.
Также дядюшкой Билли Калиткой была создана технология MSAA (Microsoft Active
Accecebility), которая позволяет продуктам подзвучки напрямую работать в адресном
пространстве процесса который подлежит озвучке.Таким образом теоретически возможно
работать программе озвучки без видео перехватчика, например Freedom Box или Thunder.
Недостатком такого подхода является то, что если программа не готова к такому
вмешательству, то она валится с грохотом.
В принципе есть другая реализация данного подхода - использование функции CreateRemoteThread
из ядра для создания потока в адресном пространстве насилуемого в особо извращённой
форме процесса. Такой подход является более универсальным и правильным, но гораздо
более сложным в реализации, и не очень подходит для коммерческих продуктов, коими
являются челюсти или глазки. Я сильно подозреваю, что этот подход используется
диктором из окошек, но не могу сказать наверняка.
Способ номер три.
При помощи реестра можно заставить работать произвольную Dll во всех процессах,
изнасиловав процесс и таким образом. Скрин ридеров, использующих такой подход
я честно говоря не встречал, да и не нравится он мне по сути. Но не упомянуть
о нём из-за своего отношения было бы неправильно.

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

До свидания.

***
Это сообщение No4425
было разослано для 319 участников дискуссионного листа
[JFWRus] Re: видеоперехватчик

Ответить   Mon, 4 Sep 2006 08:41:09 -0700 (#586734)