Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нулевое кольцо защиты (Ring0) [D6, Win95/98, WinXP]


Страницы:   1 2 3 4

SDW-syscoder ©   (2004-02-23 09:36:00) 

Каким способом можно выполнить участки кода программы (процедуры или функции), написанные с использованием asm-вставок в этом кольце защиты, т.к. ОС Windows XP(2000) не разрешает на прямую работать с регистрами, прерываниями и портами компьютера.
Компонент TVicHW32 не впаривать:).


Игорь Шевченко   (2004-02-26 12:19:00) [41]

h0use ©   (26.02.04 12:06)


> Это значит, что есть например vxd и можно ли ее добавить
> как ресурс в ресурсный файл компоненты, а потом собственно
> из ресурса пререписать во временно созданный файл и проинициализировать?


Можно. Некоторые утилиты Руссиновича так и работают.


Игорь Шевченко   (2004-02-26 12:13:00) [42]

Kerk ©   (26.02.04 11:24)

"Вполне рабочий пример" только перезагрузил мне компьютер. И все.

Еще раз - туфта.


h0use   (2004-02-26 12:06:00) [43]


> а что, по твоему, компонент содержит кроме бинарного кода
> ?
> там сплошь и рядом - бинарный код)
>
> и что значит "засунуть" ?

Это значит, что есть например vxd и можно ли ее добавить как ресурс в ресурсный файл компоненты, а потом собственно из ресурса пререписать во временно созданный файл и проинициализировать?

> что означает в твоем понимании "вызов компонента" ?
> есть вызов некоего метода некоего класса/объекта, но термин
> "вызов компонента" - это нонсенс

Вызов метода компонента, конечно...а точнее его конструктора.

> а для чего нулевое кольцо-то ? что, разве в файл нельзя
> записать данные в 3-м кольце ?

Записать можно, не в этом была основа вопроса

> кто ?!

собственно созданный vxd файл


Kerk   (2004-02-26 11:24:00) [44]

Игорь Шевченко ©   (25.02.04 11:04) [7]

Почему туфта? Там же к статье пример идет... вполне рабочий..


Игорь Шевченко   (2004-02-26 11:17:00) [45]

N169   (26.02.04 08:48)


> Вот вам пример работающей проги: PicProg для Windows от
> фирмы «Телесистемы».
> Упомянутым выше способом они "портировали" на винду свой
> старый код для ДОС.
> Так что, всё работает. На WinNT (Y2K,XP) тоже.
> Не верите - закачайте, посмотрите, проверьте.


Ссылочку ?


Digitman   (2004-02-26 09:56:00) [46]


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


а что, по твоему, компонент содержит кроме бинарного кода ?
там сплошь и рядом - бинарный код)

и что значит "засунуть" ?


> при вызове этого компонента


что означает в твоем понимании "вызов компонента" ?
есть вызов некоего метода некоего класса/объекта, но термин "вызов компонента" - это нонсенс


> соотвт код записывался в файл


а для чего нулевое кольцо-то ? что, разве в файл нельзя записать данные в 3-м кольце ?


> после этого удалялся


кто ?!


h0use   (2004-02-26 09:32:00) [47]

Хорошо, я согласен, раз без написания драйвера никак без извратов попасть в Ring0, тогда скажите, где можно найти пример примитивного драйвера для NT и для Win 9х отдельно и возможно ли бинарный код каким-то образом засунуть в компонент, так чтоб при вызове этого компонента соотвт код записывался в файл и после этого удалялся?


N169   (2004-02-26 08:48:00) [48]

callgate через модификацию LDT - туфта?
Вот вам пример работающей проги: PicProg для Windows от фирмы «Телесистемы».
Упомянутым выше способом они "портировали" на винду свой старый код для ДОС.
Так что, всё работает. На WinNT (Y2K,XP) тоже.
Не верите - закачайте, посмотрите, проверьте.


NightAngel   (2004-02-25 23:22:00) [49]

Код для Win95/98.

// Код переданной функции будет выполнятся с уровнем привилегий PL0.
// Примечание: Это будет работать, только на Win9x/ME.
// Пользоваться сервисами WinAPI нельзя. Вместо них используются сервисы VMM/VxD
procedure CallRing0(Ring0Func:pointer);
const
ExceptionUsed = 5;
var
 IDT       : array [0..7] of byte;
 lpOldGate : dword;
asm
 pushad
 sidt fword ptr IDT
 mov ebx, dword ptr [IDT+2]
 add ebx, 8*ExceptionUsed
 mov dx, word ptr [ebx+6]
 shl edx, 16d
 mov dx, word ptr [ebx]
 mov [lpOldGate], edx
 mov eax, Ring0Func
 mov word ptr [ebx], ax
 shr eax, 16d
 mov word ptr [ebx+6], ax
 push ebx
 int ExceptionUsed
 pop ebx
 mov ebx, dword ptr [IDT+2]
 add ebx, 8*ExceptionUsed
 mov edx, [lpOldGate]
 mov word ptr [ebx], dx
 shr edx, 16d
 mov word ptr [ebx+6], dx
 popad
end;


Klev   (2004-02-25 21:45:00) [50]

Таким развратом в Делфях заниматься?
Зачем?
Всегда же есть MASM, TASM...


Digitman   (2004-02-25 18:13:00) [51]


> h0use ©   (25.02.04 18:02) [10]


ссылка ж приведена в  [6]

исследуй указанный код - сразу ответ на вопрос будет : моно или низя


h0use   (2004-02-25 18:02:00) [52]

Хорошо, Делфа не причем...вообще кто-нибудь читал из чего-нибудь MSR без написания драйвера?


Digitman   (2004-02-25 17:56:00) [53]


> h0use ©   (25.02.04 17:23) [8]


"Делфа"-то при чем ?
Суть вопроса - как без использования драйвера режима ядра получить управление в Ринг0 ..


h0use   (2004-02-25 17:23:00) [54]

И все же, вот тут скачал програмку, котрая читает MSR регистры, без какого-то там труда, я же никак не могу заставить работать оператор rdmsr в асме :( Подскажите, может кто-то уже читал MSR из Делфы?


Игорь Шевченко   (2004-02-25 11:04:00) [55]

Kerk ©   (25.02.04 09:26)

Туфта это, похоже...


Kerk   (2004-02-25 09:26:00) [56]

Вот для WinNT. Способ для настоящих извращенцев... %))

http://www.sbvc.net/articles/33.html


KSergey   (2004-02-25 08:30:00) [57]

>  [4] N169   (24.02.04 19:28)
> Поищите в интернете архивчик callgate.zip и почитайте книгу
> MATT PIETREK Windows 95 System programming SECRETS

Вот только проканают ли "Windows 95 SECRETS" в качестве WinNT SECRETS - что-то сомнения меня разбирают...


N169   (2004-02-24 19:28:00) [58]

Поищите в интернете архивчик callgate.zip и почитайте книгу MATT PIETREK Windows 95 System programming SECRETS
Там описан способ выполнения user mode кода в ring0.
(Некоторые перцы используют описанный там приём для портирования кода из-под ДОС. Но результаты иногда не очень...)


Игорь Шевченко   (2004-02-24 18:21:00) [59]

12345678   (23.02.04 09:58)

Ну-ну. Хотел бы я знать, что можно сделать с этой информацией.
А то, что можно подсоединиться к ядерному отладчику в XP, так это давно известно...Благо сам отладчик умеет это делать...


12345678   (2004-02-23 09:58:00) [60]

http://www.securitylab.ru/42927.html
hehe


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо