Форум: "WinAPI";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
ВнизКак перевести Ring3 в Ring0 Найти похожие ветки
← →
Scained © (2005-01-13 23:52) [0]Не знаю где найти уже почти весь ИНЕТ прошол но не нашол!
может вы знайте?
МОЖЕТ ЕСТЬ КОМПОНЕНТ ИЛИ DLL(ка)!
КАК НА DELPHI ПЕРЕЙТИ В RING0
← →
Германн © (2005-01-14 03:59) [1]В топике есть D1. Там нет ни Ring0 ни Ring3! Там все в твоих руках!
Но тогда забудь о "NT4, Win2k, WinXP"!
Тем более, что на D1 - никто, никогда не сможет написать приложение для "NT4, Win2k, WinXP", которое использует аппаратные ресурсы компьютера!
← →
Kerk © (2005-01-14 04:38) [2]Scained © (13.01.05 23:52)
http://kerk.frandt.com/files/ring0beep.zip
← →
Digitman © (2005-01-14 09:03) [3]
> Не знаю где найти уже почти весь ИНЕТ прошол но не нашол
это ж надо ! и как только ты умудрился почти весь ИНЕТ пройти)
мимо wasm.ru проходил ? зря не зашел ..
← →
Маг Похмеляйнен (2005-01-14 11:30) [4]ring0 внутри драйвера. Пишешь, и вызваешь.
А если в порт плевать, то бери giveio или dlportio, она разрешит это делать из ring3.
← →
kaZaNoVa © (2005-01-14 11:38) [5]Kerk © (14.01.05 4:38) [2]
cool
но сама функция, которая в ринг0 исполняется, ASM"овская, хочется на делфи иметь возможность в Ring0 работать))
← →
Fay © (2005-01-14 11:40) [6]2 kaZaNoVa © (14.01.05 11:38) [5]
В некотором смысле, все функции - "ASM"овские"
← →
Kerk © (2005-01-14 11:43) [7]kaZaNoVa © (14.01.05 11:38) [5]
хочется на делфи иметь возможность в Ring0 работать))
я тебе уже говорил, что на делфи работать можно.. но естесственно, что в нуле нельзя использовать WinAPI, так что выкручивайся как можешь :)
← →
Игорь Шевченко © (2005-01-14 12:08) [8]TRing0 - искать на www.torry.net
← →
kaZaNoVa © (2005-01-14 12:12) [9]Игорь Шевченко © (14.01.05 12:08) [8]
а можно как-нить работать с Ринг0 с правами юзера, или без админских прав никак нельзя?
← →
Kerk © (2005-01-14 12:14) [10]kaZaNoVa © (14.01.05 12:12) [9]
глупый вопрос
← →
Игорь Шевченко © (2005-01-14 12:30) [11]
> а можно как-нить работать с Ринг0 с правами юзера
Можно.
← →
Digitman © (2005-01-14 12:32) [12]
> kaZaNoVa © (14.01.05 12:12) [9]
сморозил ты, пардон, откровенную глупость.
ноги у термина "кольцо защиты" растут из АППАРАТНЫХ возможностей CPU i80x86
← →
kaZaNoVa © (2005-01-14 12:41) [13]Kerk © (14.01.05 12:14) [10]
я забыл уточнить что в виндах WinXP и выше ..
а твой пример НЕ работает без админских прав !!!
← →
kaZaNoVa © (2005-01-14 12:42) [14]я имел ввиду перейти в Ринг0 не имея админских прав =)
← →
Kerk © (2005-01-14 12:42) [15]kaZaNoVa © (14.01.05 12:41) [13]
я знаю, что он не работает. зачем ты мне это рассказываешь?
← →
Kerk © (2005-01-14 12:43) [16]kaZaNoVa © (14.01.05 12:42) [14]
нельзя.
← →
kaZaNoVa © (2005-01-14 12:46) [17]Kerk © (14.01.05 12:43) [16]
> нельзя.
а
Игорь Шевченко © (14.01.05 12:30) [11]
говорит что можно .. КТО же прав?
=)
← →
Kerk © (2005-01-14 12:47) [18]kaZaNoVa © (14.01.05 12:46) [17]
он не говорил, что можно
← →
Игорь Шевченко © (2005-01-14 13:03) [19]kaZaNoVa © (14.01.05 12:46) [17]
Ленина не уважаешь
← →
kaZaNoVa © (2005-01-14 13:07) [20]так значит нельзя?
← →
kaZaNoVa © (2005-01-14 13:09) [21]совсем меня запутали ..
не буду более с Ринг0 связываться:(
← →
Digitman © (2005-01-14 14:24) [22]
> kaZaNoVa © (14.01.05 13:09) [21]
вот именно - не связывайся.
задница дороже геморроя.
а по сабжу - переход в 0-е кольцо под Win9x/ME проще чем в иных ОС на НТ-платформе
к сожалению, ув. коллега Kerk не упомянул в своем примере логику перехода в нуль-кольцо для маздая ... а зря)
← →
Kerk © (2005-01-14 14:39) [23]Digitman © (14.01.05 14:24) [22]
к сожалению, ув. коллега Kerk не упомянул в своем примере логику перехода в нуль-кольцо для маздая ... а зря)
почему зря? стоит сделать?
← →
Eraser © (2005-01-14 14:57) [24]Scained ©
Не заморачивай себе голову написанием драйвера на Delphi, даже в VC++ нету специльных шаблонов для создания драйверов, всё ручками писать надо ;-(
Советую книку "Прграммирование драйверов Windows" автор- Солдатов.
PS Про 9x забудь!
← →
Kerk © (2005-01-14 15:06) [25]Eraser © (14.01.05 14:57) [24]
а при чем тут шаблоны?
← →
Digitman © (2005-01-14 15:29) [26]
> Kerk © (14.01.05 14:39) [23]
> почему зря? стоит сделать?
ну, наверно, стОит .. автор же упомянул Маздай в сабже ..
> Eraser © (14.01.05 14:57) [24]
> Scained ©
> Не заморачивай себе голову написанием драйвера на Delphi,
> даже в VC++ нету специльных шаблонов для создания драйверов,
> всё ручками писать надо ;-(
Откуда им там взяться-то, шаблонам этим ? на то DDK как раз и имеется.
Полноценный KMD средствами одной только Делфи, разумеется. не напишешь, но это отнюдь не говорит о том, что Делфи никаким боком не годится для разработки KMD.
← →
Игорь Шевченко © (2005-01-14 15:33) [27]Digitman © (14.01.05 15:29) [26]
> но это отнюдь не говорит о том, что Делфи никаким боком
> не годится для разработки KMD.
Начиная с версии 4 не годится.
С уважением,
← →
Kerk © (2005-01-14 15:41) [28]Digitman © (14.01.05 15:29) [26]
ну, наверно, стОит .. автор же упомянул Маздай в сабже ..
ок.. в свободное время прикручу вариант для 9х
← →
Eraser © (2005-01-14 15:45) [29]Digitman ©
Я не спорю, я даже где-то пример WDM драйвера на делфях видел...
Главное правильно поставить диррективы и настроить компилятор.
Но делфи для этого е предназначен (для драйверов).
← →
Digitman © (2005-01-14 15:46) [30]
> Игорь Шевченко © (14.01.05 15:33) [27]
Игорь, при полном понимании годится любая .. иначе ты прав на все сто.
> Kerk © (14.01.05 15:41) [28]
угу..
и удали там комментарий насчет "специально для.." тех-то - и мне и Игорю все эти выкрутасы знакомы)
← →
Digitman © (2005-01-14 15:49) [31]
> Eraser © (14.01.05 15:45) [29
я - о KMD, а не о модели хрен знает чего, о чем ты ...
Полноценный же KMD средствами одной только Делфи не сотворить.
Или приводи контраргументы ..
← →
Scained © (2005-01-14 15:54) [32]А как в RING0 вызвать прерывание?
← →
Eraser © (2005-01-14 15:59) [33]Digitman ©
Если бы я ещё знал что такое KMD, тогда бы привёл... ;)))
Я с системным программированием только в теории сталкивался ;(
Если у кого-нибудь есть хорошая инфа, дайте ссылочку буду очень благодарен...
← →
Digitman © (2005-01-14 16:13) [34]
> Scained © (14.01.05 15:54) [32]
> А как в RING0 вызвать прерывание?
в смысле ?
что есть "вызвать прерывание" ?
> Eraser © (14.01.05 15:59) [33]
> Если бы я ещё знал что такое KMD
увы, не "сокет")
Kernel Mode Driver
← →
Digitman © (2005-01-14 16:16) [35]
> Игорь Шевченко © (14.01.05 15:33) [27]
> Начиная с версии 4 не годится.
могу ошибаться, но вроде бы 3-ей ..
← →
Eraser © (2005-01-14 16:53) [36]Digitman ©
Понятно, а то я и думаю, что за KMD... ))) а WDM это и есть разновидность KMD, импользуемая в winnt системах, можно конечно юзать legacy driver"ы, но советуют WDM.
увы, не "сокет")
Это радует, неохота опять писать про передачу файла по indy ;)))
← →
Digitman © (2005-01-14 16:59) [37]
> Eraser © (14.01.05 16:53) [36]
> Понятно, а то я и думаю, что за KMD... ))) а WDM это и есть
> разновидность KMD
понятно что лошадь, но только с рогами)
← →
Kerk © (2005-01-14 17:01) [38]Digitman © (14.01.05 15:46) [30]
и удали там комментарий насчет "специально для.." тех-то - и мне и Игорю все эти выкрутасы знакомы)
ok. Удалю. Но именно я тебе и Игорю их демонстрировал этой демкой прошлой весной. Вы упорно не хотели верить, что такое возможно. :)
← →
Anatoly Podgoretsky © (2005-01-14 17:20) [39]kaZaNoVa © (14.01.05 12:42) [14]
Какие админовские права на Win9x
← →
Scained © (2005-01-14 18:24) [40]в смысле ?
что есть "вызвать прерывание" ?
Я получил ринг0
но приревание я не могу вызвать
я его вызываю а OC мне СИНЕЕ ОКНО СМЕРТИ ПОКАЗЫВАЕТ!
КАК Я ПОНИЛ ТАМ ЧЕРЕЗ GDT постройн
а как его перестройть IDT?
Я ВЗЯЛ ПРИМЕР
http://kerk.frandt.com/files/ring0beep.zip
КСТАТИ СПОСИБО! Kerk!!!!!!!!!!!!!!
НЕ ОЖИДАЛ ТОКОГО!
← →
Kerk © (2005-01-14 18:30) [41]Scained © (14.01.05 18:24) [40]
а как его перестройть IDT?
а нафига?
← →
Scained © (2005-01-14 18:34) [42]Scained © (14.01.05 18:24) [40]
а как его перестройть IDT?
а нафига?
ЧТО-БЫ Int 13h вызвать! и другие!
← →
Kerk © (2005-01-14 18:36) [43]Scained © (14.01.05 18:34) [42]
эээ...
← →
Colonel (2005-01-14 22:26) [44]И что там все-таки с прерываниями ??? Тоже стало интересно !!!
← →
Игорь Шевченко © (2005-01-14 23:43) [45]Kerk © (14.01.05 18:36) [43]
> эээ...
Присоединяюсь :)
← →
Doc-N (2005-01-15 05:28) [46]Eraser © (14.01.05 14:57) [24]
Scained ©
Не заморачивай себе голову написанием драйвера на Delphi, даже в VC++ нету специльных шаблонов для создания драйверов, всё ручками писать надо ;-(
А как же Driver Studio? Там не шаблон ведь, а даже целый мастер... + вспомогательные классы
Очень сильно ускоряет процесс написания драйвера.
Скачать можно тут, если китайского не боишся.
http://secrecy.ayinfo.ha.cn/soft/34.htm
На ProgLib есть описание мастера работы мастера и пример драйвера созданного при помощи Driver Studio. Все это названно "Использование NuMega DriverStudio для написания WDM-драйверов" и лежит в статьях.
+ Вместе со статьями Four-F (www.wasm.ru) и Driver Developer Kit (DDK) можно написать любой драйвер.
← →
Digitman © (2005-01-15 12:11) [47]
> Scained
> приревание я не могу вызвать
> я его вызываю а OC мне СИНЕЕ ОКНО СМЕРТИ ПОКАЗЫВАЕТ!
> КАК Я ПОНИЛ ТАМ ЧЕРЕЗ GDT постройн
> а как его перестройть IDT?
> ЧТО-БЫ Int 13h вызвать! и другие!
в Win32 это не "прерыванием" называется, а шлюзом впрочем, и в ДОС это не прерыванием звалось, как помнится, а ловушкой
вызов Int13h в защищ.режиме под управлением Win32 не приведет к ожидаемым тобой результатам, хоть в Ring0 хоть в Ring3, даже не надейся
насчет же "и других" Ring0 тебе нужен лишь для формирования нужных дескрипторов в GDT, IDT, LDT .. при грамотном их формировании последующий вызов IntN вполне возможен и на уровне Ring3
← →
Eraser © (2005-01-15 16:27) [48]Doc-N
см. [29]
← →
SergMaster (2005-01-30 11:09) [49]а вот автору этого поста предлагаю почитать декабрьский номер журнала (декабрь 2004) хакер - страница 68 статья "Абсолютный ноль". журнал, конечно, для ламосов, но там изредка встречаются офигительные по своей красоте идеи
← →
Anatoly Podgoretsky © (2005-01-30 17:02) [50]Scained © (13.01.05 23:52)
Программы прекрасно работают и в кольце 3
Страницы: 1 2 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.031 c