Загрузочный сектор жесткого

Тема в разделе "WASM.BEGINNERS", создана пользователем err, 11 окт 2008.

  1. err

    err New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2008
    Сообщения:
    3
    можно ли прочитать загрузочный сектор жесткого с помощью debug.exe
     
  2. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Можно. Дебуг позволяет ассемблировать небольшие программки. Нужно почитать документацию по 13h прерыванию.
     
  3. err

    err New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2008
    Сообщения:
    3
    но из под виндоса я конечно же ничего не увижу, верно?
     
  4. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    А чем вообще можно ассемблировать такой маленький код, чтобы потом его в бинарный файл запихнуть?

    debug.exe - это что?
     
  5. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    slavanap
    Например, FASM'ом. debug.exe -- это 16битный отладчик и ассемблер в одном лице. Запускается по имени в командной строке. В Win есть неплохой help к нему.
     
  6. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    На самом деле в Win 2k/XP с помощью debug получить доступ к жесткому диску нельзя. Ни команда "L", ни программка, запущенная в debug, не позволяют этого сделать.
     
  7. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    WinHex прочитает и запишет. Вот только для начала надо этот файл создать.

    Mika0x65
    А с какими параметрами компилить, не подскажешь? Я просто к MASM'y привык, а в нем такой файл вроде как создать нельзя.
     
  8. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    У фасма вообще нет дополнительных параметров. Только имя входного и выходного файлов. Фасм по умолчанию генерирует бинарник с 16-разрядным кодом. Единственное, что может понадобиться - это директива org в начале, например, org 7C00h.
     
  9. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    # Тасм /t создает COM файл /3 - поддержка 32 битных команд.
    F:\TASM\BIN\Tasm.exe unreal.asm
    F:\TASM\BIN\TLink.exe /t /3 unreal.obj,unreal.com

    # Старшии версии начиная 7.0 создают только PE.
    # MASM до 6.0 версии включительно AT - создать COM - файл. с-ассемблирование, без линковки. Чтобы потом самим залинковать.

    F:\masm32\BIN\ML.EXE /c /AT hellow.asm
    LINK.exe hellow.obj,hellow.com,,,,

    #FASM вызывать надо досовское приложение. Виндовское запустит оболочку.
    I:\Disk_L\FASM\FASM.exe reset1.asm
    Как заметил Фантом. По жефолту создается бинарный файл с 16 кодом. А выходным форматом упровляет деректива Format.

    В не зависимости от компилятора/линкера org нужно для задания смещения. В COM файлах 100h в бутсекторе 7C00h.
    Фасм если видит org 100h то создает файл с расширением com, в других случаех будет bin.
     
  10. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    err
    неверно
     
  11. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    Phantom_84
    Pavia
    Спасибо большое.
    Теперь можно свою операционку писать )
     
  12. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    slavanap
    капец. Проще исходники какойнить взять. Там и сектор и драйвера и апи и тулзы и проч. Разбирайся/пиши свою/дописывай разобранную cколько хошь. И зачем все это через вынь делать? Если не специфично, то с аппарат-близкими уровнями через уних лайк куда как проще.
     
  13. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    _basmp_
    Сперва эксперимент, потом выводы ((с) аристотель)
     
  14. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    slavanap
    об чем это? Кроме того, сам эксперимент обдумывать предварительно надо, чтоб последующие выводы осмыслеными и определенными были.
     
  15. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    _basmp_
    Знания полученные легким путем(из книжек) плохии знания. Непомню кто сказал.
     
  16. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Pavia
    Возможно я не понял, но где я на книжках циклиться предлагал?
     
  17. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    _basmp_
    Просто я предпочитаю велосипед изобретать, а не пользоваться готовым.
     
  18. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    to _basmp_
    Во-первых, мне сильно не понравилось утверждение, что из-под виндов писать сложнее, чем из-под никсов!

    to slavanap
    Во-вторых, только бы твой запал быстро не угас, что приходится наблюдать постоянно.
     
  19. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Кстати WinHex конечно хорошо, но вот HxD тоже ничего.
     
  20. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    slavanap
    А есть уже развивающиеся проекты ОС, к которым можно при сильном желании присоединиться. Например, мой.