Подменяю MBR своим кодом.
Код проверяет наличие некоторого оборудования и в зависимости от его наличия
(не)разрешает дальнейшую работу.
все регистры (кроме CS,EIP,SS,ESP,EFLAGS) до этих действий сохраняю, а после
восстанавливаю, передаю управление оригинальному МБР, загрузив его по
оригинальному адресу (0:7c00). Оригинальный МБР запускает бутсектор, бутсектор
пускает ntloader.
ntloader показывает меню, но при выборе вин2к (как и любого другого пункта)
имеем мертвый вис.
Что я мог запортить кроме регистров процессора? Какого фига оно виснет так
поздно?
. С уважением, Hикита.
... "Hравственность по версии ВОЗ"
Область параметров BIOS? Таблицу прерываний? Кстати, а почему
не сохраняете SS:ESP?
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икита.
... Я пью до дна за тех, кто в танке!
Уверен?
>
> IA> Таблицу прерываний?
>
> Hе трогаю.
Уверен?
>
> IA> Кстати, а почему не сохраняете SS:ESP?
>
> Hа них закладываться низзя.
Это не повод, чтобы их не сохранить.
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икита.
... А вдруг бог есть? Чем черт не шутит...
NS> Что я мог запортить кроме регистров процессора? Какого фига оно виснет так
NS> поздно?
Бредовый вопрос - а partition table на месте?
Best regards.
Igor
Давеча 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 байт, оказалось маловато.
07 Jul 06 , 19:54 Igor Krassikov писал к Nickita A Startcev:
NS>> Что я мог запортить кроме регистров процессора? Какого фига оно
NS>> виснет так поздно?
IK> Бредовый вопрос - а partition table на месте?
Да. и на диске и в памяти по нужному адресу оно есть.
Кстати, LILO и GRUB работают нормально, w2k под вмварью тоже нормально, а вот
w2k+ntloader на реальной машине вешаются.
. С уважением, Hикита.
... А в этом доме тот же самый Али-Баба живет, или другой?
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асположены похабно.
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_/]
... Мёртвые слушают меня ...
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 =
Вишен и прочих кактусов.
11 Jul 06 , 20:44 ob писал к Nickita A Startcev:
*NAS*>> Стек идет от 0:7c00 и вниз. Вроде как достаточно.
o> И стэк и мбр всё по адресу 7c00?.. ;-}
А вы таки не в курсе, что стек растет вниз, а мбр вверх?
. С уважением, Hикита.
... Гландыши...
*NAS*>>> Стек идет от 0:7c00 и вниз. Вроде как достаточно.
o>> И стэк и мбр всё по адресу 7c00?.. ;-}
NS> А вы таки не в курсе, что стек растет вниз, а мбр вверх?
А сегменты -- так вообще вбок!
bye
12 Jul 06 10:43 --> 14 Jul 06 08:53
Nickita A Startcev (2:469/105.96) --> ob
*NAS*>>> Стек идет от 0:7c00 и вниз. Вроде как достаточно.
o>> И стэк и мбр всё по адресу 7c00?.. ;-}
*NAS*> А вы таки не в курсе, что стек растет вниз, а мбр вверх?
Да-а, я не в курсе, что мбр куда-то растёт... ;-}
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е бойтесь совершенства, вам его не достичь' (с) Дали.
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
... Обкурившийся сфинкс, забывший правильный ответ на собственную загадку
NAS> *NAS*>>>> Стек идет от 0:7c00 и вниз. Вроде как достаточно.
o>>>> И стэк и мбр всё по адресу 7c00?.. ;-}
NS>>> А вы таки не в курсе, что стек растет вниз, а мбр вверх?
DG>> А сегменты -- так вообще вбок!
NAS> А у 80386+ в защищенном режиме, на самом деле, одной задаче
NAS> можно использовать как минимум 8190 сегментов по 4гб каждый!
А в Киеве, ты не поверишь, таки дядька!
--
Miguel migue...@yandex.ru
LJ migmit http://miguel-0.narod.ru
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азума...
Одинбитный. За него двухнебитных давали, но я не взял.
--
С уважением.
Сергей Сторчака
21 Jul 06 , 21:52 Serhiy Storchaka писал к Nickita A Startcev:
>> MM> А в Киеве, ты не поверишь, таки дядька!
>>
>> А дядька сколькибитный? :)
SS> Одинбитный. За него двухнебитных давали, но я не взял.
и правильно. Сейчас курс примерно 1:5.
. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Пересадить собаку с сена на цепь