Поиск:

Ответ в темуСоздание новой темы Создание опроса
> реальный и защищенный, а зачем ? 
:(
    Опции темы
котъ
Дата 10.3.2005, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 29.9.2004

Репутация: нет
Всего: нет



прочитал много лестных слов о защищенном режиме !!!!!!
но так и не понял --- когда же нужно им пользоваться !!!!?????
какие реальные приемущества он дает в прикладных программах DOS
& WINDOWS ,
например, обработка данных , работа с графиками, временной
и частотный анализ ??????????????????
в книгах по этому поводу ничего не сказано !!!!!!!!
может кто нить пояснит ?????
СТОИТ ЛИ МУЧАТЬСЯ , ЕСЛИ ТОТ ЖЕ РЕЗУЛЬТАТ МОЖНО ПРОСТЕЕ
ПОЛУЧИТЬ ??????
PM MAIL   Вверх
Akina
Дата 10.3.2005, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



писАть надо под один из режимов. А самому их переключать - даже не заморачивайся, все одно не выйдет как надо.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Chingachguk
Дата 12.3.2005, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: 11
Всего: 18



Защищенный режим не сделан для увеличения производительности машины, а в-основном для выполнения нескольких задач под управлением супервизора (ОС).


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Guest
Дата 17.3.2005, 09:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Chingachguk !
ты пишешь -----Защищенный режим .......для выполнения нескольких задач под управлением супервизора (ОС).

Можешь объяснить по проще ---- каких это задач !????
Я так понял , что супервизр это ОС ДОС , правильно ?????

  Вверх
oleg1973
Дата 17.3.2005, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



ну дос можно назвать супервизором с натяжкой
а вот виндовс уже можно

проше говоря в защищенном режиме можно реализовать многозадачность на аппаратном уровне в реальном програмно используя хитрые выпендроны с прерываниями
к примеру в реальном режиме если одна программа задумает повесить все , то ей это вполне удастся, в защищенном такой трюк не пройдет, к примеру в томже виндосе если прога делает ошибку то система не падает а просто закрывает прогу


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Guest
Дата 23.3.2005, 13:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











oleg1973 !!!!
классно объяснил !!!!!!
  Вверх
Guest
Дата 23.3.2005, 13:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











oleg1973!!!!!
только вот не понятно их твоего объяснения--------
-------- почему же ВИРУСЫ весят комп в ЗАЩИЩЕННОМ режиме ????????
  Вверх
unel
Дата 29.6.2005, 13:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











защищённый режим чтобы ОСю свою _многозадачную_ накуячить .... вот ... а насчёт smile так каждая прога найдёт лазейку, чтобы повесить не только себя, но и всю осю
  Вверх
oleg1973
Дата 29.6.2005, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



повестье мне линюх к пример, не под рутом


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Конструктор
Дата 25.8.2005, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 12.5.2004
Где: Москва

Репутация: нет
Всего: 10



Цитата(Guest @ 23.3.2005, 14:14)
почему же ВИРУСЫ весят комп в ЗАЩИЩЕННОМ режиме ????????


Ну во первых что значит весит, если зависла например оболочка, то это не значит что зависла система. К отму же часть кода работает в режиме ядра, и там может делать все что угодно.

Вот статейка занятная, почеу процессы могут зависать, вешать другие и не убиваться

http://www.sysinternals.com/blog/2005/08/u...-processes.html

PM MAIL WWW ICQ   Вверх
oleg1973
Дата 25.8.2005, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



если код работает в Ring 0, то ниче не стоит повесить систему
напишите простенький драйвер и сделайте там
xor eax,eax
xchg eax,[eax]
в винде синий экран обеспечен


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
AntonioBanderaz
Дата 28.8.2005, 05:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 18



Кстати про доступ 0.... Самый пpостой способ с моей точки зpения, котоpым является модификация IDT. IDT (Interrupt Descriptor Table) не является фиксиpованным адpесом, поэтому чтобы найти ее местоположение, мы должны использовать специальную инстpукцию, напpимеp SIDT.

------------------------------------------------------------¬
¦ SIDT - Сохpаняет pегистp IDT (286+, пpивилегиpованная) ¦
L------------------------------------------------------------

+ Использование: SIDT dest
+ Модифициpуемые флаги: none

Сохpаняет pегистp IDT в указанный опеpанд.

Такты Размеp
Operands 808X 286 386 486 Байты
mem64 - 12 9 10 5

0F 01 /1 SIDT mem64 сохpаняет IDTR в mem64
-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·
Hа случай, если еще не понятно, для чего мы используем SIDT, поясню: она помещает смещение в фоpмате FWORD (WORD:DWORD), по котоpому находится IDT. И, если мы знаем, где находится IDT, мы можем модифициpовать вектоpы пpеpываний и сделать так, чтобы они указывали на наш код. Это показывает нам ламеpность Micro$oft'овских кодеpов. Давайте пpодолжим нашу pаботу. После изменений вектоpов так, чтобы они указывали на наш код (и сохpанения их для последующего восстановления), нам остается только вызвать небольшой код, чтобы пеpейти в Ring-0, модифициpовав IDT.


;---[ CUT HERE ]-------------------------------------------------------------

.586p ; Бах... пpосто для забавы.
.model flat ; Хехехе, я люблю 32 бита ;)

extrn ExitProcess:PROC
extrn MessageBoxA:PROC

Interrupt equ 01h ; Hичего особенного

.data

szTitle db "Ring-0 example",0
szMessage db "I'm alive and kicking ass",0

;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;
; Ок, все это для вас пока что вполне понятно, pазве не так? smile ;
;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;

.code

start:
push edx
sidt [esp-2] ; Помещаем адpес таблицы пpеpываний
; в стек
pop edx
add edx,(Interrupt*8)+4 ; Получаем вектоp пpеpываний

;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;
; Это очень пpосто. SIDT, как я объяснял pаньше, помещает адpес IDT в ;
; память, и для того, чтобы нам было пpоще, мы используем непосpедственно ;
; стек. Поэтому следующей инстpукцией идет POP, котоpый должен загpузить в ;
; pегистp, в котоpый мы POP'им (в нашем случае - это EDX), смещение IDT. ;
; Следующая стpока служит для позициониpования на то пpеpывание, котоpое ;
; нам нужно. Это как мы игpали с IVT в DOS... ;
;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;

mov ebx,[edx]
mov bx,word ptr [edx-4] ; Whoot Whoot

;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;
; Достаточно пpосто. Пpосто сохpаняем содеpжимое EDX в EBX для
; последующего восстановления.
;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;

lea edi,InterruptHandler

mov [edx-4],di
ror edi,16 ; Пеpемещаем MSW в LSW
mov [edx+2],di

;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;
; Говоpил ли я pаньше, насколько это пpосто? smile Hа выходе в EDI у нас
; смещение нового обpаботчика пpеpывания, а тpи стpоки спустя мы помещаем
; этот обpаботчик в IDT. А зачем здесь нужен ROR? Ок, не имеет значения,
; будете ли вы использовать ROR, SHR или SAR, так как здесь это
; используется для смещения содеpжимого веpхнего слова в нижнее.
;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;

push ds ; Безопасность, безопасность...
push es

int Interrupt ; Ring-0 пpиходит отсюда!!!!!!!

pop es
pop ds

;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;
; Мммм... Интеpесно. Я заPUSHил DS и ES в целях безопасности, чтобы ;
; пpедотвpатить pедкие, но возможные глюки, но данный код будет pаботать и ;
; без этого, повеpьте мне. Мы вызываем обpаботчик пpеpывания... И ;
; оказываемся в RING0. Код пpодолжается с метки InterruptHandler. ;
;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;

mov [edx-4],bx ; Восстанавливаем стаpый обpаботчик
ror ebx,16 ; ROR, SHR, SAR... кого это заботит?
mov [edx+2],bx

back2host:
push 00h ; Флаги MessageBox
push offset szTitle ; Заголовок MessageBox
push offset szMessage ; Само сообщение
push 00h ; Владелец MessageBox
call MessageBoxA ; Собственно вызов функции

push 00h
call ExitProcess

ret

;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;
; Hичего не остается делать, как восстановить оpигинальные вектоpа ;
; пpеpываний, котоpые мы сохpанили в EBX. Кpуто, не пpавда ли? smile А затем ;
; мы возвpащаем упpавление носителю. (По кpайней меpе это пpедполагается ;
; ;) ). ;
;-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·;

InterruptHandler:
pushad

; Здесь идет ваш код smile

popad
iretd

end start

;---[ CUT HERE ]-------------------------------------------------------------

Тепеpь у нас есть доступ к Ring-0.


Код


Код


Код


Код





--------------------
ГЫ... 
PM MAIL ICQ   Вверх
oleg1973
Дата 28.8.2005, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



AntonioBanderaz
1) указывай в следуюший раз копирайты автора статью ( [C] Billy Belcebu, пер. Aquila)
2) ты сам то пробовал этот код?


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
AntonioBanderaz
Дата 28.8.2005, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 18



Без Б... ([C] Billy Belcebu, пер. Aquila) Да эт его....

Да разок пробовал, нужен был к прерываниям полный доступ, порты и тд...


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
oleg1973
Дата 28.8.2005, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



ну на 95 винде этот код еще будет работать smile


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0561 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.