Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

дозагрузочное

0 views
Skip to first unread message

Nickita A Startcev

unread,
Jul 6, 2006, 10:31:48 AM7/6/06
to
Привет, All !


Подменяю MBR своим кодом.
Код проверяет наличие некоторого оборудования и в зависимости от его наличия
(не)разрешает дальнейшую работу.
все регистры (кроме CS,EIP,SS,ESP,EFLAGS) до этих действий сохраняю, а после
восстанавливаю, передаю управление оригинальному МБР, загрузив его по
оригинальному адресу (0:7c00). Оригинальный МБР запускает бутсектор, бутсектор
пускает ntloader.
ntloader показывает меню, но при выборе вин2к (как и любого другого пункта)
имеем мертвый вис.

Что я мог запортить кроме регистров процессора? Какого фига оно виснет так
поздно?

. С уважением, Hикита.
... "Hравственность по версии ВОЗ"

Ilya Anfimov

unread,
Jul 6, 2006, 12:58:12 PM7/6/06
to
2006-07-06,
Nickita A Startcev <Nickita.A...@p96.f105.n469.z2.fidonet.org> пишет:

Область параметров BIOS? Таблицу прерываний? Кстати, а почему
не сохраняете SS:ESP?

Nickita A Startcev

unread,
Jul 7, 2006, 1:58:30 AM7/7/06
to
Привет, Ilya !


06 Jul 06 , 20:58 Ilya Anfimov писал к Nickita A Startcev:

>> Подменяю MBR своим кодом.
>> Код проверяет наличие некоторого оборудования и в зависимости от его
>> наличия (не)разрешает дальнейшую работу. все регистры (кроме
>> CS,EIP,SS,ESP,EFLAGS) до этих действий сохраняю, а после
>> восстанавливаю, передаю управление оригинальному МБР, загрузив его
>> по оригинальному адресу (0:7c00). Оригинальный МБР запускает
>> бутсектор, бутсектор пускает ntloader. ntloader показывает меню, но
>> при выборе вин2к (как и любого другого пункта) имеем мертвый вис.
>>
>> Что я мог запортить кроме регистров процессора? Какого фига оно
>> виснет так поздно?

IA> Область параметров BIOS?

не трогаю.

IA> Таблицу прерываний?

Hе трогаю.

IA> Кстати, а почему не сохраняете SS:ESP?

Hа них закладываться низзя.

. С уважением, Hикита.
... Я пью до дна за тех, кто в танке!

Ilya Anfimov

unread,
Jul 7, 2006, 6:06:40 AM7/7/06
to
2006-07-07, Nickita A Startcev <Nickita.A...@p96.f105.n469.z2.fidonet.org> пишет:

> Привет, Ilya !
>
>
> 06 Jul 06 , 20:58 Ilya Anfimov писал к Nickita A Startcev:
>
> >> Подменяю MBR своим кодом.
> >> Код проверяет наличие некоторого оборудования и в зависимости от его
> >> наличия (не)разрешает дальнейшую работу. все регистры (кроме
> >> CS,EIP,SS,ESP,EFLAGS) до этих действий сохраняю, а после
> >> восстанавливаю, передаю управление оригинальному МБР, загрузив его
> >> по оригинальному адресу (0:7c00). Оригинальный МБР запускает
> >> бутсектор, бутсектор пускает ntloader. ntloader показывает меню, но
> >> при выборе вин2к (как и любого другого пункта) имеем мертвый вис.
> >>
> >> Что я мог запортить кроме регистров процессора? Какого фига оно
> >> виснет так поздно?
>
> IA> Область параметров BIOS?
>
> не трогаю.

Уверен?

>
> IA> Таблицу прерываний?
>
> Hе трогаю.

Уверен?

>
> IA> Кстати, а почему не сохраняете SS:ESP?
>
> Hа них закладываться низзя.

Это не повод, чтобы их не сохранить.

Nickita A Startcev

unread,
Jul 7, 2006, 9:43:14 AM7/7/06
to
Привет, Ilya !


07 Jul 06 , 14:06 Ilya Anfimov писал к Nickita A Startcev:

>> >> Подменяю MBR своим кодом.
>> >> Код проверяет наличие некоторого оборудования и в зависимости от
>> >> его наличия (не)разрешает дальнейшую работу. все регистры (кроме
>> >> CS,EIP,SS,ESP,EFLAGS) до этих действий сохраняю, а после
>> >> восстанавливаю, передаю управление оригинальному МБР, загрузив
>> >> его по оригинальному адресу (0:7c00). Оригинальный МБР запускает
>> >> бутсектор, бутсектор пускает ntloader. ntloader показывает меню,
>> >> но при выборе вин2к (как и любого другого пункта) имеем мертвый
>> >> вис.
>> >>
>> >> Что я мог запортить кроме регистров процессора? Какого фига оно
>> >> виснет так поздно?
>>
>> IA> Область параметров BIOS?
>>
>> не трогаю.

IA> Уверен?

Вполне.

>> IA> Таблицу прерываний?
>> Hе трогаю.

IA> Уверен?

Вполне.

>>
>> IA> Кстати, а почему не сохраняете SS:ESP?
>>
>> Hа них закладываться низзя.

IA> Это не повод, чтобы их не сохранить.

Hу, дык, а почему оно на одних машинах пашет, а на некоторых нет?

. С уважением, Hикита.
... А вдруг бог есть? Чем черт не шутит...

Igor Krassikov

unread,
Jul 7, 2006, 10:54:00 AM7/7/06
to
Hello Nickita!
18:31 06 Jul 06, Nickita A Startcev -> All:

NS> Что я мог запортить кроме регистров процессора? Какого фига оно виснет так
NS> поздно?

Бредовый вопрос - а partition table на месте?

Best regards.
Igor

Vladimir Zaitsev

unread,
Jul 7, 2006, 12:03:46 AM7/7/06
to
Пpивет, Nickita!

Давеча 06 Jul 06, писал Nickita A Startcev для All:

NS> Подменяю MBR своим кодом.
NS> Код проверяет наличие некоторого оборудования и в зависимости от его
NS> наличия (не)разрешает дальнейшую работу. все регистры (кроме
NS> CS,EIP,SS,ESP,EFLAGS) до этих действий сохраняю, а после
NS> восстанавливаю, передаю управление оригинальному МБР, загрузив его по
NS> оригинальному адресу (0:7c00). Оригинальный МБР запускает бутсектор,
NS> бутсектор пускает ntloader. ntloader показывает меню, но при выборе
NS> вин2к (как и любого другого пункта) имеем мертвый вис.
NS> Что я мог запортить кроме регистров процессора? Какого фига оно виснет
NS> так поздно?

Эээ, достаточно ли места в стеке выделяется для работы твоего кода? Не то
я выделил в загрузчике 512 байт, оказалось маловато.


Nickita A Startcev

unread,
Jul 10, 2006, 1:29:34 AM7/10/06
to
Привет, Igor !


07 Jul 06 , 19:54 Igor Krassikov писал к Nickita A Startcev:


NS>> Что я мог запортить кроме регистров процессора? Какого фига оно

NS>> виснет так поздно?

IK> Бредовый вопрос - а partition table на месте?

Да. и на диске и в памяти по нужному адресу оно есть.
Кстати, LILO и GRUB работают нормально, w2k под вмварью тоже нормально, а вот
w2k+ntloader на реальной машине вешаются.

. С уважением, Hикита.
... А в этом доме тот же самый Али-Баба живет, или другой?

Nickita A Startcev

unread,
Jul 10, 2006, 1:30:52 AM7/10/06
to
Привет, Vladimir !


07 Jul 06 , 09:03 Vladimir Zaitsev писал к Nickita A Startcev:

NS>> Подменяю MBR своим кодом.
NS>> Код проверяет наличие некоторого оборудования и в зависимости от

NS>> его наличия (не)разрешает дальнейшую работу. все регистры (кроме


NS>> CS,EIP,SS,ESP,EFLAGS) до этих действий сохраняю, а после
NS>> восстанавливаю, передаю управление оригинальному МБР, загрузив

NS>> его по оригинальному адресу (0:7c00). Оригинальный МБР запускает
NS>> бутсектор, бутсектор пускает ntloader. ntloader показывает меню,
NS>> но при выборе вин2к (как и любого другого пункта) имеем мертвый
NS>> вис. Что я мог запортить кроме регистров процессора? Какого фига
NS>> оно виснет так поздно?

VZ> Эээ, достаточно ли места в стеке выделяется для работы твоего
VZ> кода? Hе то я выделил в загрузчике 512 байт, оказалось маловато.

Стек идет от 0:7c00 и вниз. Вроде как достаточно.

. С уважением, Hикита.
... Hомеpа нодов в нодлисте pасположены похабно.

ob

unread,
Jul 11, 2006, 11:44:00 AM7/11/06
to
Жму руку тебе, Nickita!

10 Jul 06 10:30 --> 11 Jul 06 20:44
Nickita A Startcev (2:469/105.96) --> Vladimir Zaitsev

NS>>> Подменяю MBR своим кодом.
NS>>> Код проверяет наличие некоторого оборудования и в зависимости от
NS>>> его наличия (не)разрешает дальнейшую работу. все регистры (кроме
NS>>> CS,EIP,SS,ESP,EFLAGS) до этих действий сохраняю, а после
NS>>> восстанавливаю, передаю управление оригинальному МБР, загрузив
NS>>> его по оригинальному адресу (0:7c00). Оригинальный МБР запускает
NS>>> бутсектор, бутсектор пускает ntloader. ntloader показывает меню,
NS>>> но при выборе вин2к (как и любого другого пункта) имеем мертвый
NS>>> вис. Что я мог запортить кроме регистров процессора? Какого фига
NS>>> оно виснет так поздно?
VZ>> Эээ, достаточно ли места в стеке выделяется для работы твоего
VZ>> кода? Hе то я выделил в загрузчике 512 байт, оказалось маловато.

*NAS*> Стек идет от 0:7c00 и вниз. Вроде как достаточно.

И стэк и мбр всё по адресу 7c00?.. ;-}

LPS: Не стоит принимать близко к сердцу мой бред...

Руку отпускаю, пока. ob.
[*Соседи спят спокойно*]
[_/Necromant's Voice team/_] [*451°F*] [/_Death after Life team_/]
... Мёртвые слушают меня ...

Dennis Chikin

unread,
Jul 12, 2006, 12:43:16 PM7/12/06
to
Hello Nickita!

06 Jul 06 19:31, you wrote to All:

NS> Подменяю MBR своим кодом.

NS> Код проверяет наличие некоторого оборудования и в зависимости от его
NS> наличия (не)разрешает дальнейшую работу. все регистры (кроме

Hе фига не nice, но обрати внимание на ряд плясок с бубном, которые
производятся по ходу дела.

= Cut =

mbr: db 200h dup (00h)
org 7c00h

start: pushf
push ax
push es
push ds

savreg cli
sub ax,ax
push ax
pop es
push ax
pop ds
mov bx,ss
mov rsp-1000h,sp
mov rss-1000h,bx
mov ss,ax
mov sp,7C00h
sti

cld
mov si,07c00h
mov di,08c00h
mov cx,100h
rep movsw
jmp virtst
offsadr

org offsadr+1000h

virtst ...
getstat ...
or al,al
jnz pntprep
jmp ptnkeep

...

ptnkeep mov al,flaga ; boot from a: ?
or al,al
jnz boota

boot mov si,8dbfh ; load entry offset
mov dh,[si] ; load head number
inc si
mov dl,80h
mov cx,[si] ; load track/sector number
load mov bx,7c00h ; set bx like starting point
mov ax,0201h ; read 1 sector
clc
int 13h ; call bios service
jc error

cli
mov ax,rss
mov ss,ax
mov sp,rsp
pop ds
pop es
pop ax
popf
sti
jmp start

text0: db 0ah,0dh,'enter number of active partition:'
text1: db 00h,0ah,0dh
text2: db 0ah,0dh,'disk read error',0ah,0dh
db 000h
flaga: db 000h
rax: dw 0
rsp: dw 0
rss: dw 0
pentry: db 000h,000h,000h,000h,055h,0aah
end
= End cut =

Вишен и прочих кактусов.

Nickita A Startcev

unread,
Jul 12, 2006, 1:43:34 AM7/12/06
to
Привет, ob !


11 Jul 06 , 20:44 ob писал к Nickita A Startcev:

*NAS*>> Стек идет от 0:7c00 и вниз. Вроде как достаточно.

o> И стэк и мбр всё по адресу 7c00?.. ;-}

А вы таки не в курсе, что стек растет вниз, а мбр вверх?

. С уважением, Hикита.
... Гландыши...

Dmitry Grebeniuk

unread,
Jul 12, 2006, 1:54:04 AM7/12/06
to
hi, Nickita

*NAS*>>> Стек идет от 0:7c00 и вниз. Вроде как достаточно.

o>> И стэк и мбр всё по адресу 7c00?.. ;-}

NS> А вы таки не в курсе, что стек растет вниз, а мбр вверх?

А сегменты -- так вообще вбок!

bye

ob

unread,
Jul 13, 2006, 11:53:20 PM7/13/06
to
Жму руку тебе, Nickita!

12 Jul 06 10:43 --> 14 Jul 06 08:53
Nickita A Startcev (2:469/105.96) --> ob

*NAS*>>> Стек идет от 0:7c00 и вниз. Вроде как достаточно.
o>> И стэк и мбр всё по адресу 7c00?.. ;-}

*NAS*> А вы таки не в курсе, что стек растет вниз, а мбр вверх?

Да-а, я не в курсе, что мбр куда-то растёт... ;-}

Nickita A Startcev

unread,
Jul 14, 2006, 1:42:34 AM7/14/06
to
Привет, Dennis !


12 Jul 06 , 21:43 Dennis Chikin писал к Nickita A Startcev:

NS>> Подменяю MBR своим кодом.
NS>> Код проверяет наличие некоторого оборудования и в зависимости от

NS>> его наличия (не)разрешает дальнейшую работу. все регистры (кроме

DC> Hе фига не nice, но обрати внимание на ряд плясок с бубном, которые
DC> производятся по ходу дела.

DC> = Cut =

DC> mbr: db 200h dup (00h)

гм. Вот эти 512 байт на какое место в памяти попадают?

DC> org 7c00h

DC> start: pushf
DC> push ax
DC> push es
DC> push ds

А в каком состоянии стек в этот момент? Есть ли _гарантии_, что он не в
какой-нибудь ПЗУ?

[skip]

У меня тоже работает, кстати, почти разобрался.
Глюки где-то в InitUSB.

. С уважением, Hикита.
... 'Hе бойтесь совершенства, вам его не достичь' (с) Дали.

Nickita A Startcev

unread,
Jul 19, 2006, 12:18:04 AM7/19/06
to
Привет, Dmitry !


12 Jul 06 , 10:54 Dmitry Grebeniuk писал к Nickita A Startcev:

*NAS*>>>> Стек идет от 0:7c00 и вниз. Вроде как достаточно.

o>>> И стэк и мбр всё по адресу 7c00?.. ;-}

NS>> А вы таки не в курсе, что стек растет вниз, а мбр вверх?

DG> А сегменты -- так вообще вбок!

А у 80386+ в защищенном режиме, на самом деле, одной задаче можно использовать
как минимум 8190 сегментов по 4гб каждый!

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Обкурившийся сфинкс, забывший правильный ответ на собственную загадку

Miguel Mitrofanov

unread,
Jul 19, 2006, 11:06:20 PM7/19/06
to
Hello, Nickita! You wrote:

NAS> *NAS*>>>> Стек идет от 0:7c00 и вниз. Вроде как достаточно.

o>>>> И стэк и мбр всё по адресу 7c00?.. ;-}

NS>>> А вы таки не в курсе, что стек растет вниз, а мбр вверх?

DG>> А сегменты -- так вообще вбок!

NAS> А у 80386+ в защищенном режиме, на самом деле, одной задаче
NAS> можно использовать как минимум 8190 сегментов по 4гб каждый!

А в Киеве, ты не поверишь, таки дядька!
--
Miguel migue...@yandex.ru
LJ migmit http://miguel-0.narod.ru

Nickita A Startcev

unread,
Jul 21, 2006, 2:48:10 AM7/21/06
to
Привет, Miguel !


20 Jul 06 , 07:06 Miguel Mitrofanov писал к Nickita A. Startcev:

NAS> *NAS*>>>>> Стек идет от 0:7c00 и вниз. Вроде как достаточно.

o>>>>> И стэк и мбр всё по адресу 7c00?.. ;-}

NS>>>> А вы таки не в курсе, что стек растет вниз, а мбр вверх?

DG>>> А сегменты -- так вообще вбок!

NAS>> А у 80386+ в защищенном режиме, на самом деле, одной задаче
NAS>> можно использовать как минимум 8190 сегментов по 4гб каждый!

MM> А в Киеве, ты не поверишь, таки дядька!

А дядька сколькибитный? :)

. С уважением, Hикита.
... Победа сил добpа над силами pазума...

Serhiy Storchaka

unread,
Jul 21, 2006, 1:52:09 PM7/21/06
to
Nickita A Startcev пишет:

> 20 Jul 06 , 07:06 Miguel Mitrofanov писал к Nickita A. Startcev:
> MM> А в Киеве, ты не поверишь, таки дядька!
>
> А дядька сколькибитный? :)

Одинбитный. За него двухнебитных давали, но я не взял.

--
С уважением.
Сергей Сторчака

Nickita A Startcev

unread,
Jul 22, 2006, 4:25:40 AM7/22/06
to
Привет, Serhiy !


21 Jul 06 , 21:52 Serhiy Storchaka писал к Nickita A Startcev:

>> MM> А в Киеве, ты не поверишь, таки дядька!
>>
>> А дядька сколькибитный? :)

SS> Одинбитный. За него двухнебитных давали, но я не взял.

и правильно. Сейчас курс примерно 1:5.

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev

... Пересадить собаку с сена на цепь

0 new messages