Сейчас на форуме: vasilevradislav, tyns777, zombi-vadim (+3 невидимых)

 eXeL@B —› Программирование —› Vista и скриншоты
Посл.ответ Сообщение


Ранг: 58.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 06 февраля 2008 12:53
· Личное сообщение · #1

В общем нужно получить скриншот экрана, но получить его должен процесс запущеный под другим аккаунтом, ну например под аккаунтом SYSTEM, так вот выходит что у него свой десктоп, своя оконная станция, как и всех процессов, выполняющихся под тем же аккаунтом... и никак не удаёться получить скриншот другого рабочего стола, который на другой оконной станции... и не помогает ни SetProcessWindowStation ни затем SetThreadDesktop... тоесть они возвращают true, но скриншот выходит либо пустым, либо вообще не выходит... если кто что-нибудь знает, подскажите...



Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

Создано: 06 февраля 2008 14:31
· Личное сообщение · #2

ну вообще-то Vista здесь ни при чем. так было и в самых первых NT
мне думается единственный путь - это инжект в какой-нибудь процесс нужного пользователя, например в Explorer

-----
MicroSoft? Is it some kind of a toilet paper?




Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 06 февраля 2008 15:17
· Личное сообщение · #3

Поиск не судьба?www.wasm.ru/forum/viewtopic.php?id=25125

-----
продавец резиновых утёнков





Ранг: 58.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 06 февраля 2008 16:08
· Личное сообщение · #4

Tim пишет:
мне думается единственный путь - это инжект в какой-нибудь процесс нужного пользователя, например в Explorer

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



Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

Создано: 06 февраля 2008 16:48
· Личное сообщение · #5

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

-----
MicroSoft? Is it some kind of a toilet paper?




Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 06 февраля 2008 17:49
· Личное сообщение · #6

виста разве позволит инжектить dll куда попало?


 eXeL@B —› Программирование —› Vista и скриншоты
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати