Сейчас на форуме: (+5 невидимых)

 eXeL@B —› Программирование —› Вывод информации на экран из уровня ядра или почему SoftICE закрыт
Посл.ответ Сообщение

Ранг: 5.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 30 июня 2007 16:52 · Поправил: Vadim Sergeevich
· Личное сообщение · #1

С приходом DirectX 10, и новыми видеокартами (на GeForce 8800 проверено точно) отладчики не смогут корректно выводить информацию на экран. И вот почему:
Раньше физическая память видеоадаптера отображалась линейно на экран и при знании адреса начала отображания на экран, и шага от одной строки к следующей, была возможность рисовать на экране из режима ядра как вздумается (из режима пользователя такая возможность будет существовать по умолчанию). Вышеприведенный отладчик использует DirectDraw находит эти параметры и спокойно отображает информацию на экран (если не верите установите чистую WinXP без драйвера экрана, и потом установите SoftIce, тот тут же выдаст ошибку - интерфейс DirectDraw не найден). А на текущий момент времени физическая видеопамять перестала быть линейной, и даже при знании указанных выше параметров вывести на экран что-либо будет невозможно. Т.о. либо будет необходимость писать видеодрайвер siwvid.sys для каждой видеокарточки (а тех. характеристики никто так просто не даст), либо использовать интерфейс к уже имеющимся драйверам (но кто гарантирует, что уровень IRQL это позволит), либо прекратить разработку отладчика, что собственно и произошло.
Есть ли какие соображения о том как можнот вывести что-либо на экран из режима ядра на современных видеокарточках ?




Ранг: 283.6 (наставник), 56thx
Активность: 0.130
Статус: Участник
Author of GeTaOEP

Создано: 30 июня 2007 18:29
· Личное сообщение · #2

Vadim Sergeevich пишет:
и новыми видеокартами (на GeForce 8800 проверено точно) отладчики не смогут корректно выводить информацию на экран

...а можно подробнее: какие симптомы были с вышеприведёнными видеокартами и SoftICE?

-----
the Power of Reversing team





Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 30 июня 2007 18:42
· Личное сообщение · #3

Vadim Sergeevich
Баян:
wasm.ru/forum/viewtopic.php?id=21398

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...




Ранг: 2.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 30 июня 2007 23:48
· Личное сообщение · #4

...а можно подробнее: какие симптомы были с вышеприведёнными видеокартами и SoftICE?
А синдромы довольно просты - Софтайс на екран с новыми карточками не выводит, значит будем использовать старую апаратуру или виртуальные машины.




Ранг: 283.6 (наставник), 56thx
Активность: 0.130
Статус: Участник
Author of GeTaOEP

Создано: 01 июля 2007 23:35
· Личное сообщение · #5

В общем,это называется -- пиздец(простите за выражение) подкрался внезапно...
Походу дело действительно в видеокарте(у меня 8800GTX),а не в ядре Conroe процессора Intel Core2Duo EN6600.
Если в настройках экрана полностью убрать аппаратное ускорение,то отладчик запускается!!Был проверен даже брейкпоинт на MessageBoxA -- отладчик его ловит.И всё это на этом самом ядре Conroe!

Однако главная проблема заключается в том,что нормального окна отладчика мы не увидим.В самом деле,вверху экрана просто появляются какие-то два небольших полигона,отдалённо напоминающие окно SoftICE.А всё потому,что убирая аппаратное ускорение,мы отрубаем тот самый DirectDraw,без которого не может нормально отображать своё окно отладчик.Попытки поставить в настройках что-то отличное от "Universal Video Driver" у меня заканчивались в конце концов BSOD'ом.

Собственно хочу задать вопрос: у кого-нибудь работает отладчик с видеокартой PCI Express x16??
Например,какая-нибудь подобная видеокарта из шестой или седьмой серии GeForce??

-----
the Power of Reversing team




Ранг: 228.7 (наставник), 2thx
Активность: 0.120
Статус: Участник
malware research

Создано: 02 июля 2007 01:39
· Личное сообщение · #6

На PCIeX ATI x850XT отлично работает, на более новых - не вкурсе.

-----
Research is my purpose





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 02 июля 2007 02:32
· Личное сообщение · #7

DillerInc пишет:
из шестой или седьмой серии GeForce??


ни на тех, ни на других проблем быть не должно.




Ранг: 283.6 (наставник), 56thx
Активность: 0.130
Статус: Участник
Author of GeTaOEP

Создано: 02 июля 2007 11:47
· Личное сообщение · #8

Хорошо,тогда будем смотреть...

-----
the Power of Reversing team




Ранг: 5.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 02 июля 2007 15:18
· Личное сообщение · #9

tnt17

На wasm.ru обитаю уже года 3. Поскольку конкретно по SoftICE больше инфы на этом форуме, вот и решил задать вопрос. Но ответа пока не получил ...



Ранг: 162.4 (ветеран), 11thx
Активность: 0.060
Статус: Участник

Создано: 03 июля 2007 18:41
· Личное сообщение · #10

НУ тогда придется через виртуалку по сети дебажить.
Для меня даже лучше.


 eXeL@B —› Программирование —› Вывод информации на экран из уровня ядра или почему SoftICE закрыт
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати