Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

Нулевое кольцо защиты (Ring0)   Найти похожие ветки 

 
Игорь Шевченко ©   (2004-02-27 11:35) [40]

Kerk ©   (27.02.04 08:56)

Хорошая работа. Насчет туфты беру сови слова обратно. Правда, не пищит, но и компьютер не перезагружает, уже плюс.

Лучше бы вместо пищания сделать чтение управляющих регистров процессора. И сравнить с результатами w2k_mem Свена Шрайбера.


 
Kerk ©   (2004-02-27 14:48) [41]

2h0use
В общем, технология перехода в Ring0 продемонстрирована. Осталось только без глюков реализовать.

> Игорь Шевченко ©   (27.02.04 11:35) [40]
> Хорошая работа.


Старался... :)


 
Игорь Шевченко ©   (2004-02-27 15:01) [42]

Kerk ©   (27.02.04 14:48)

На досуге можно почитать в MSDN, почему и когда рекомендуется и не рекомендуется использовать Device\PhysicalMemory.
Другой вопрос, стоит ли овчинка выделки - использовать такой способ для перехода в нужный режим. Драйвером как-то стабильнее и предсказуемее получается.


 
Kerk ©   (2004-02-27 15:18) [43]

Игорь Шевченко ©   (27.02.04 15:01) [42]
Тут ты все верно сказал. Но иногда бывает просто не удобно из-за какой-то мелочи драйвер писать.


 
Игорь Шевченко ©   (2004-02-27 15:25) [44]

Kerk ©   (27.02.04 15:18)


> Но иногда бывает просто не удобно из-за какой-то мелочи
> драйвер писать.


Например, из-за какой ? Судя по тому, что указанный способ не получил широкого распространения, он обладает недостатками, которые перевешивают его достоинства.


 
SDW-syscoder   (2004-02-27 16:58) [45]

// Вот написал. Переходит в Ring0 и пищит спикером.
// http://kerk-files.narod.ru/ring0.zip

Примерчик-то отличный, даже система не падает. Я пока не разбирался в коде и хочу заранее поинтересоваться: можно ли организовать и/или выполнить две процедуры или функции в Ring0.


 
BiN ©   (2004-02-27 17:28) [46]

Запищало на 3-й раз!!! - во время ПЕРЕЗАГРУЗКИ "№;:№%;№:%;!"?*(
:/


 
Kerk ©   (2004-02-28 10:18) [47]


> SDW-syscoder

насчет твоего rdmsr. я тут поэкспериментировал.

1)
mov ecx,0 // номер MSR-регистра для чтения
rdmsr

все ок.

2)
mov ecx,1
rdmsr

все ок

3)
mov ecx,2
rdmsr

"синий экран смерти"

делаем выводы...


> можно ли организовать и/или выполнить две процедуры или
> функции в Ring0

а какая разница сколько процедур выполнять?


> BiN ©   (27.02.04 17:28) [46]

Система какая?


 
Kerk ©   (2004-02-28 10:25) [48]

> Игорь Шевченко ©   (27.02.04 15:25) [44]
Например, чтобы просто прочитать регистр MSR писать целый драйвер не удобно.
Мне кажется тут бессмысленно спорить - это дело вкуса.


 
Anatoly Podgoretsky ©   (2004-02-28 12:47) [49]

Kerk ©   (28.02.04 10:18) [47]
Выводы простые, хакерские методы они и есть хакерские.


 
BiN ©   (2004-02-28 17:05) [50]

Kerk © Система какая?
W2k SP4

Пока будешь каждый регистр тестировать, эту дыру (а это и есть дыра) прикроют. Так что удачного пищания :)


 
Kerk ©   (2004-02-29 11:49) [51]


> BiN ©   (28.02.04 17:05) [50]

Этой дыре уже не один год...
А про регистры я писал, потому что h0use сказал, что у него rdmsr не работает... я ему показал, что она работает...


> Anatoly Podgoretsky ©   (28.02.04 12:47) [49]

хакерские - не значит плохие и неправильные.


 
VMcL ©   (2004-02-29 13:08) [52]

>>Kerk ©  (29.02.04 11:49) [51]
>хакерские - не значит плохие и неправильные.

hack ~ ломать => хакерские ~ ломающие => плохие, но вполне могут быть правильными :))


 
Игорь Шевченко ©   (2004-02-29 22:13) [53]

Kerk ©   (29.02.04 11:49)


> хакерские - не значит плохие и неправильные


Значит. Неправильность их заключается в том, что не гарантируется предсказуемый результат в различных версиях операционных систем, и даже в различных сервис-паках. Учиться надо у Sysinternals.


 
Kerk ©   (2004-03-01 14:49) [54]

2Игорь Шевченко
Чтобы не быть голословным, Игорь, приведи пример ситуации, когда данный метод не сработает.

Что должно случиться, чтобы я не смог открыть \device\physicalmemory и добавить селектор в GDT?


 
Игорь Шевченко ©   (2004-01-23 13:45) [55]

Kerk ©   (01.03.04 14:49)

А предыдущий пример как раз это и показывает...Тот, который у всех себя ведет по-разному.


> Что должно случиться, чтобы я не смог открыть \device\physicalmemory
>


Например, запретят изменять атрибуты защиты у device\physicalmem из режима пользователя.


 
Kerk ©   (2004-03-02 11:37) [56]


> А предыдущий пример как раз это и показывает...Тот, который
> у всех себя ведет по-разному.

Не надо ссылаться на предыдущий пример. Там была попытка перехвата функции NtCreateFile по статически заданному адресу. А в разных ОС (и возможно разных сервис-паках) эта функция по разным адресам сидит. Потому пример и работает через раз.

> Например, запретят изменять атрибуты защиты у device\physicalmem
> из режима пользователя.

Очень и очень маловероятно. Зачем это?
Почему на \.\\PhysicalDrive[X] можно писать что хочешь и вполне легально, а в \Device\PhysMem нельзя?
С точки зрения защиты не логично. Если мне не дадут в память писать, я в MBR запишусь (и не известно что опаснее).. :-)


 
Digitman ©   (2004-03-02 11:53) [57]


> Kerk ©   (02.03.04 11:37) [56]


Касперский, кстати, вполне солидарен с Игорем)... или наоборот)

Ибо смотрит на файлы с подобным кодом (в любой его ипостаси) как на файлы загаженные дерьмом под названием VirTool.Win32.FileName


 
Kerk ©   (2004-03-02 11:56) [58]

Это минус Касперского...
Нормальный вири ловить не может, а подобные ложные срабатывания мешают работе.


 
Игорь Шевченко ©   (2004-03-02 12:14) [59]

Kerk ©   (02.03.04 11:37)

Кстати, насколько я помню, этот пример выполняется только из-под администратора ?


> Если мне не дадут в память писать, я в MBR запишусь (и не
> известно что опаснее)..


Зачем ?


 
Kerk ©   (2004-03-02 14:41) [60]


> Кстати, насколько я помню, этот пример выполняется только
> из-под администратора ?

Абсолютно верно.
Но ведь я и не призываю все драйвера на такие проги заменять. В конце концов поведение дравера действительно куда более предсказуемо. Но согласись, что метод с \device\physmem вполне применим на практике...


> > Если мне не дадут в память писать, я в MBR запишусь (и не
> > известно что опаснее)..
> Зачем ?

Этим я хотел сказать, что прямая работа у физ.диском не менее опасна, и тем не менее документирована и разрешена.


 
Игорь Шевченко ©   (2004-03-02 15:35) [61]

>Но согласись, что метод с \device\physmem вполне применим на >практике...

Может, и применим, только я не вижу, для решения каких задач.


> > > Если мне не дадут в память писать, я в MBR запишусь
> (и не
> > > известно что опаснее)..
> > Зачем ?
>
> Этим я хотел сказать, что прямая работа у физ.диском не
> менее опасна, и тем не менее документирована и разрешена.


Как ни странно, нажатие клавиш Shift+Delete в проводнике тоже разрешено...И даже документировано. Хотя в ряде случаев может быть сопоставимо с записью в MBR


 
Ray Adams   (2004-03-13 16:18) [62]

Народ, я ответил в другом топике уже.
Ижем в google даем поиск по DLPortIO, giveio. Бесплатные дрова и исходниками и примерами на Дельфи , Си , Бейсике.



Страницы: 1 2 вся ветка

Форум: "Система";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.56 MB
Время: 0.037 c
14-1081538326
pirat
2004-04-09 23:18
2004.05.02
наблюдение любопытного


4-1079027155
Labert
2004-03-11 20:45
2004.05.02
BitBlt из десктопа в мое окно...


7-1078936426
HepB
2004-03-10 19:33
2004.05.02
Проблема с ini-файлом


3-1081136342
Марат
2004-04-05 07:39
2004.05.02
Формат ячейки в DBGrid


14-1081560795
Думкин
2004-04-10 05:33
2004.05.02
С днем рождения! 10 апреля.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский