Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что ВиндаХП пишет в MBR ? dword @ 0x1B8 
:(
    Опции темы
CDEater
Дата 30.11.2006, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Раньше думал, что первые 0x1BE байт MBR отведены полностью под код загрузчика, но недавно обломался. Написал свой загрузчик, а на этом месте хранил пароль - винда видит, что там dword нуль, и чего-то своего туда нахреначила, сказала, что обнаружила новое устройство и просит перезагрузить комп. Пароль, естественно, накрылся  smile 

Просветите, какая область MBR может быть использована для кода загрузчика с гарантией неизменности. Вдруг ещё какая-нибудь ОС решит писать в MBR свои переменные ? 
И есть ли документ на эту тему (всё-таки MBR - вещь ОС-независимая, и должны быть какие-то правила его использования, а не просто виндузовая отсебятина, учитывая что на современных компах часто несколько ОСей сидят в разных разделах одного винта) ? 
PM MAIL   Вверх
rsm
Дата 30.11.2006, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(CDEater @  30.11.2006,  13:03 Найти цитируемый пост)
какая область MBR может быть использована для кода загрузчика
Никакая. Потому что под MBR отведено ровно 200h байт, которые могут быть использованы любой ОС по своему усмотрению.

Цитата(CDEater @  30.11.2006,  13:03 Найти цитируемый пост)
всё-таки MBR - вещь ОС-независимая
В MBR находится код, получающий управление после загрузки BIOS. Это может быть код загрузчика любой ОС или вообще произвольный код, хоть "Hello, World!".

Цитата(CDEater @  30.11.2006,  13:03 Найти цитируемый пост)
на современных компах часто несколько ОСей сидят в разных разделах одного винта
И управляются, по сути, опять-таки из MBR одним загрузчиком.

Загляни на этот сайт, там в документации довольно неплохо описан процесс загрузки, участие в нем MBR и все такое.
PM MAIL   Вверх
CDEater
Дата 30.11.2006, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



rsm, прочитал по ссылке, не нашёл для себя ничего нового.  Кстати, и бутменеджер этот вполне посредственный (напр., мой поддерживает в 2.5 раза больше разделов, хотя я не ставил такой цели при его написании).  
А главное - там нигде не написано, что каждая ОС вольна использовать MBR по своему усмотрению, как ты утверждаешь.  ИМХО это в корне неверно.  Наверняка есть стандарт, кинул бы кто ссылку на него...
И всё-таки, что за переменную WinXP хранит по смещению +1B8h ?
PM MAIL   Вверх
dumb
Дата 30.11.2006, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


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

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



Цитата(CDEater @  30.11.2006,  11:47 Найти цитируемый пост)
А главное - там нигде не написано, что каждая ОС вольна использовать MBR по своему усмотрению, как ты утверждаешь.  ИМХО это в корне неверно.  Наверняка есть стандарт, кинул бы кто ссылку на него...

Цитата

Format of hard disk master boot sector:
Offset    Size    Description    (Table 00629)
 00h 446 BYTEs    Master bootstrap loader code
1BEh 16 BYTEs    partition record for partition 1 (see #00630)
1CEh 16 BYTEs    partition record for partition 2
1DEh 16 BYTEs    partition record for partition 3
1EEh 16 BYTEs    partition record for partition 4
1FEh    WORD    signature, AA55h indicates valid boot block

верно-верно.. это область кода загрузчика, соотв-но rsm прав.

а что, твоему бутменеджеру больше негде сохранить 4 байта? smile
PM MAIL   Вверх
CDEater
Дата 30.11.2006, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



dumb, приведённая тобой цитата говорит как раз об обратном
Master bootstrap loader code
Ключевые слова - loader CODE, то есть, это код (как правило, неизменяемый), а не область для хранения переменных, которые этим загрузчиком не используются.
В MBR мусорят дисковые дрова винды, причём только ХП (МЕ не мусорит).
То есть, к загрузчику эта переменная отношения не имеет.
PM MAIL   Вверх
dumb
Дата 30.11.2006, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


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

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



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

чтиво с подсветкой smile
Цитата(чтиво)

The four bytes from offsets 1B8h through 1BBh are called the Windows 2000/XP Disk Signature or NT Drive Serial Number

PM MAIL   Вверх
CDEater
Дата 30.11.2006, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



dumb, спасибо за ссылку
PM MAIL   Вверх
rsm
Дата 30.11.2006, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(CDEater @  30.11.2006,  13:47 Найти цитируемый пост)
мой поддерживает в 2.5 раза больше разделов
И только? smile

Цитата(CDEater @  30.11.2006,  13:47 Найти цитируемый пост)
каждая ОС вольна использовать MBR по своему усмотрению
Чтобы понять это достаточно вспомнить назначение MBR. После загрузки BIOS управление передается именно в MBR, а не куда-либо еще (если конечно ты не перепишешь BIOS). Соответственно, для любой ОС единственная возможность загрузиться - это прописать в MBR свой собственный код загрузки.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Windows/DOS"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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