![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нулевое кольцо защиты (Ring0) [D6, Win95/98, WinXP]
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