информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медЗа кого нас держат?Spanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Уголовное дело против Nginx 
 Microsoft сообщила о 44 миллионах... 
 Множественные уязвимости в VNC 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Интересный вопрос! 21.10.03 10:59  
Автор: Darkhelmet Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Наверное все видели такую "штуку", как удаленное управление рабочим столом в Windows 2000/XP и т.п., никто не думал, как это реализованно!
По моим наблюдениям там скриншоты дерутся, а вот как реализованно
это не совсем понятно, если кто знает технологию, поделитесь!
Если вопрос оставить без изменения, 21.10.03 11:32  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 21.10.03 11:33  Количество правок: 1
<"чистая" ссылка>
> Наверное все видели такую "штуку", как удаленное управление
> рабочим столом в Windows 2000/XP и т.п., никто не думал,
> как это реализованно!

а именно: "как это реализовано?", то это только могут ответить авторы, те, которым авторы это рассказали, или хакеры, которые декомпильнули программы удаленного управления.

> По моим наблюдениям там скриншоты дерутся, а вот как
> реализованно
> это не совсем понятно, если кто знает технологию,
> поделитесь!

Если же вопрос переиначить, а именно: "как это может быть реализовано?", то я бы предложил несколько решений. Можно сдирать экран, а для ускорения путем уменьшения передаваемых данных, передавать только изменения - вычитать точки из переданного в предыдущий раз скриншота, ограничивать область изменений - отсекать нулевые (после вычитания точки, то есть не изменившиеся) сверху, снизу, справа, слева, потом изображение можно еще и сжать алгоритмом "без потерь" GIF, например. Передать его с атрибутами (координаты, сжатость, только изменения или весь экран).
Еще один метод - передается экран (можно сжатый), затем отслеживаются изменения и они то и передаются. Поскольку изображение формируется чаще всего примитивами (а не битмэповой картинкой), объем передаваемой информации будет очень мал. Например: рисуем активное окно с размерами Х, У, со смещением ДХ, ДУ, заголовок "ЗАГОЛОВОК", цвет фона 0хffffffff; вывести текст по координатам, со смещением внутри окна, цвета текста, фона, начертание, сам текст "тра ля ля". Объем переданной информации будет значительно меньше, чем передаваемых обрезанных сжатых скриншотов.
Если вопрос оставить без изменения, 21.10.03 11:45  
Автор: Darkhelmet Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Еще один метод - передается экран (можно сжатый), затем
> отслеживаются изменения и они то и передаются. Поскольку
> изображение формируется чаще всего примитивами (а не
> битмэповой картинкой), объем передаваемой информации будет
> очень мал. Например: рисуем активное окно с размерами Х, У,
> со смещением ДХ, ДУ, заголовок "ЗАГОЛОВОК", цвет фона
> 0хffffffff; вывести текст по координатам, со смещением
> внутри окна, цвета текста, фона, начертание, сам текст "тра
> ля ля". Объем переданной информации будет значительно
> меньше, чем передаваемых обрезанных сжатых скриншотов.
А если сложные окна со дочерними окошками... То чего делать? СОздавать дочернии окна?
Посмотри VNC - он open source 21.10.03 11:58  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> А если сложные окна со дочерними окошками... То чего
> делать? СОздавать дочернии окна?
Передаются не окна, а десктоп. То бишь прямоугольное поле пикселов и не важно что на нем нарисовано окна или нет. Как уже было сказано, передаются только изменения. Кроме того некоторые алгоритмы дейтсвительно смотрят глубже десктопа (окна и прочее): например для того, чтобы не передавать бекграунд окон и рабочего стола.
Посмотри VNC - он open source 21.10.03 12:14  
Автор: Darkhelmet Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > А если сложные окна со дочерними окошками... То чего
> > делать? СОздавать дочернии окна?
> Передаются не окна, а десктоп. То бишь прямоугольное поле
> пикселов и не важно что на нем нарисовано окна или нет. Как
> уже было сказано, передаются только изменения. Кроме того
> некоторые алгоритмы дейтсвительно смотрят глубже десктопа
> (окна и прочее): например для того, чтобы не передавать
> бекграунд окон и рабочего стола.
Так в принципе я и думал... Брать foregroundwindow и драть его скриншот...
Он конечно меньше чем весь экран... Но вот к примеру когда открывается
меню при нажатии кнопки Пуск, его чего-то размер я не смог содрать..
Прошу вопросы по технологии 21.10.03 14:46  
Автор: sem4a Статус: Незарегистрированный пользователь
<"чистая" ссылка>
я разрабатывал подобный продукт, единственное отличие в том что я делал была возможность многих users видеть что показывает ведуший user
NetMeeting -> Share Program -> Descktop 21.10.03 14:41  
Автор: sem4a Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Вот по какой технологии сделан этот сервис
1






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


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