![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Привет всем.
Вообщем может что я напишу щас может быть абсурдом, но всетаки хочю спросить. Возможно-ли из программы написанной например на Delphi которая работает на ring 3 достучаться до памяти которой пользуется монитор что-бы вывести на монитор изображение Мне нужно научиться получать скриншот с экрана с молниеносной скоростью и вычислять изменения и потом посылать по сети, вообщем делаю удалённое управление. Пробовал разобраться в дебрях Mirror Driverа, но понял что на него ругается Vista-aero и не хочет работать, я как понял Microsoft это дело хочет с Mirror Driverом прикрыть и этот путь не безопасен. Вообщем как вы думаете? Добавлено через 1 минуту и 52 секунды P.S. Тему не много не корректно назвал. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: нет Всего: 121 |
Да - WinAPI. В целом существуют техники исполнения ring3 кода в нулевом кольце, но это недокументированные эксперименты, тупиковый вариант.
А ты бенчмарки делал? Профайлером смотрел? Прямо-таки все задержки в апи? Что-то сомнения у меня, я думаю в ring0 вообще лезти незачем. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
А какие, можно подробней? Ну если просто сделать скриншот(я имею в виду получиться пиксели не в фомате PfDevice) то около 80ms гдето занимает через Winapi, что нагружает процессор если это очень быстро делать. Добавлено через 12 минут и 53 секунды Хотя может кривой код у меня. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Ak47black, Так вроде Оверлей это и есть та самая поверхность которая нужна, там даже цветовой формат не RGB, YUV тот который у монитора.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Alexeis, как получить доступ к нему?
Добавлено @ 18:40
Ну так и выходит что сдирание много времени занимает, так бы не делали всяких Mirror Driveров как я понимаю. А в Mirror Driverе напрямую тянет app(ring3) из ring0(surface) через DrvEscape биты изображения. Там ешё конечно можно засеч на каких областях произошло рисование, но это можно при помощи простого сравнения двух Bitmap лижбы их получать быстро. Ну незнаю я так думаю Это сообщение отредактировал(а) Ak47black - 18.6.2007, 18:45 |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: нет Всего: 121 |
И какая разница во-времени? 80ms вроде неплохой, я считаю. Ты уверен, что свой алгоритм уже не ускоришь? Профайлером посмотри. Ну ищи в сети "исполнение ring3 в ring0" -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
что-то тут есть http://www.delphimaster.ru/articles/directx/index.html .
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Я эту статью уже читал, там вроде нету (или я плохо читал).
Добавлено @ 23:14 А есть какие-то варианты без DirectX и прочей шелухи? Это сообщение отредактировал(а) Ak47black - 18.6.2007, 23:34 |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Ak47black, мдя у мня вышло 37мс на 1024х768х32, но тоже скорость неудовлетворительная...
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Alexeis, лан тута надо еше как я вижу в сторону mirror driverа покопать.
Я думаю что просто когда сдирает то он всякую ерунду не нужную делает. Тут надо с ring 0 тащить. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |