Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2010, 15:27   #1
finny
 
Регистрация: 31.08.2010
Сообщений: 7
По умолчанию Загрузчик Windows на Fasm

Огромная просьба, выставить код или дать ссылку, где можно найти или скачать, код загрузчика windows nt, написанный на fasm. Заранее благодарен
finny вне форума Ответить с цитированием
Старый 10.09.2010, 09:32   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Возникает другой не менее интересный вопрос: а вообще есть ли такой загрузчик?
системами Windows NT принято считать системы:
Win NT 3.0, 3.5, 4.0
Win 2000
Win XP
когда разрабатывались эти системы компилятора FASM ещё не существовало

Какой вопрос такой ответ. Учитесь правильно задавать вопросы
rpy3uH вне форума Ответить с цитированием
Старый 10.09.2010, 10:08   #3
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

finny
а кто мешает дизассемблировать то что вы называете "загрузчик windows nt" и переписать его с учетом синтаксиса FASM'a?
Mikl___ вне форума Ответить с цитированием
Старый 10.09.2010, 10:36   #4
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Если я правильно понимаю - загрузчик это BOOT сектор. Ну наверное можно взять любой BOOT сектор, хоть от мс-доса, и грузить вместо IO.SYS файл NTLDR. Единственные косячечки могут быть с NTFS, это ж не FAT все-таки. Поэтому надо будет немного почитать про структуру NTFS.

А вот кстати нашел неплохую статью (eng): http://thestarman.pcministry.com/asm/mbr/NTFSBR.htm
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 11.09.2010, 23:18   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Если я правильно понимаю - загрузчик это BOOT сектор. Ну наверное можно взять любой BOOT сектор, хоть от мс-доса, и грузить вместо IO.SYS файл NTLDR. Единственные косячечки могут быть с NTFS, это ж не FAT все-таки. Поэтому надо будет немного почитать про структуру NTFS.
BOOT это BOOT.
а вот загрузчик немного иное...

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

а для ТС, возьми дизассемблер, и смотри что надо.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.09.2010, 14:17   #6
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
BOOT это BOOT.
а вот загрузчик немного иное...
Ну я все-таки понадеялся на благоразумность автора. Ну в самом деле, не станет же человек просить ему написать загрузчик (NTLRD) на fasme?
Поэтому я расценил что загрузчик - имеется ввиду именно бут-сектор.

Цитата:
Сообщение от Пепел Феникса
ага, может еще от линукса?
А почему иронизируете-то? Можно взять основу и от линукса, только опять-же придется доработать для работы с NTFS и загрузкой NTLDR.

Цитата:
Сообщение от Пепел Феникса
грузить это одно дело, надо не забывать еще куда грузим и тд, и тд и тд.
загрузчики часто не только файлик один грузят.
Грузят в память обычно. Куда конкретно - есть в вышеприведенной статье. Возможно огорчу, но задача загрузчика (бут сектора) - загрузить один файл (находящийся как правило в первых кластерах раздела) и передать ему управление. Все. Потому как весьма накладно в 512 байтах (а реально много меньше из-за таблицы индентификатора фс) сделать полноценную поддержку файловой системы и грузить много разных файликов свободно оперируя с фс.
Цитата:
Сообщение от Пепел Феникса
а для ТС, возьми дизассемблер, и смотри что надо.
С этим согласен.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 17.09.2010, 15:29   #7
finny
 
Регистрация: 31.08.2010
Сообщений: 7
По умолчанию

В общем, оказалось, что проще написать самому... Загрузчик рассчитан только для ОС windows, точнее для загрузки первого активного раздела в таблице разделов, находящейся в mbr, которые отформатированы в файловых системах fat32 или ntfs. Если интересно могу привести код
finny вне форума Ответить с цитированием
Старый 17.09.2010, 15:43   #8
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от finny Посмотреть сообщение
В общем, оказалось, что проще написать самому... Загрузчик рассчитан только для ОС windows, точнее для загрузки первого активного раздела в таблице разделов, находящейся в mbr, которые отформатированы в файловых системах fat32 или ntfs. Если интересно могу привести код
Ну если это MBR, то там все стандартно вроде. Смотрим в таблицу разделов, ищем первый активный, грузим из него первый сектор и передаем управление.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузчик ОС [MoNAMur] Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 11 12.09.2011 18:47
Загрузчик Alex Cones Операционные системы общие вопросы 2 02.08.2010 13:22
Свой загрузчик Яр|/||< (^_^) Свободное общение 8 09.03.2010 09:24
Загрузчик Яр|/||< (^_^) Операционные системы общие вопросы 2 03.02.2010 13:25