Восстановление изображения окна из дампа

Тема в разделе "WASM.NT.KERNEL", создана пользователем drem1lin, 29 мар 2017.

Метки:
  1. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Добрый день!
    Стоит задача восстановления изображения окна (скриншота экрана) из дампа оперативной памяти (не используя драйвер-фильтр).
    Если используется драйвер стандартного видеоадаптера BasicDisplay.sys,
    то у него изображение экрана хранится линейно в одном из диапазонов памяти bar0/bar1 (адреса получаю из конфигурационного пространство PCI) и его довольно просто восстановить.
    Но если используются драйвера Intel или Nvidia, то распределение уже перестает быть линейным.
    Сейчас пробую искать структуры SURFOBJ из нее брать поле pvScan0-адрес на начало буфера поверхности.
    Но сложно подобрать корректную сигнатуру для поиска плюс придется делать преобразование виртуальных адресов к физическим.
    Какие еще есть варианты для дальнейшего иследования, желательно независимые от драйвера видеоподсистемы?
    Спасибо.
     
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    В памяти ядра изображение интернал андок формата. Изучайте его, реверсите ядро. Тем более что у каждого видеодрова свои форматы и буфера. Так что это бессмысленный вопрос. Да и зачем такое нужно ?