как устроены диски?:)

Тема в разделе "WASM.BEGINNERS", создана пользователем Necromancer13, 16 ноя 2007.

  1. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    10110111
    Не всегда. Диски -- хорошо стандартизированная вещь, поэтому их специфические особенности для обычной работы не нужны (они используются программами сервисного обслуживания, но не осями и их драйверами). А как быть, например, с видеоконтроллерами? Там же даже внутрифирменной совместимости часто нет. Конечно, есть более-менее стандартизированные режимы, но они заканчиваются фактически на VGA, даже с SVGA (800*600) иногда могут быть проблемы при самостоятельном программировании через порты.

    Ну а ОС -- это уж совершенно точно, что по-разному в разных системах, даже если общие принципы и общие.
     
  2. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Necromancer13
    В общем, пока занимаемся вредительством? ;) Пора и к созидательной деятельности переходить :)
     
  3. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Necromancer13
    Кстати, о причках... то есть о дисках. Диски состоят из одной или нескольких поверхностей. Например, древние дисководы ЕС-5061, которые в девичестве вроде IBM 3330, уже не помню шифр точно, использовали съёмные пакетные диски, каждый из которых состоял из одиннадцати алюминиевых пластин -- всего было 20 рабочих поверхностей. Современные дискеты имеют две поверхности. У винтов -- по-разному, но, конечно, по дюжине пластин у них сейчас не бывает :) На каждую поверхность приходится своя головка, поэтому номер головки указывает, с какой поверхностью мы собираемся работать. Блок головок движется вдоль радиуса диска от края к центру и наоборот, имя фиксированные "остановки" (на упомянутом ЕС-5061 их было 203, на 3,5-дюймовых дискетах по стандарту -- 80). Все кольцевые дорожки, к которым можно получить доступ, не перемещая головки (только меняя номер используемой головки), образуют так называемый цилиндр. Таким образом, номер цилиндра -- это номер позиции блока головок относительно края диска. Наконец, на каждой дорожке находятся отдельные записи, называемые секторами или блоками. Дисковод умеет читать или записывать только целые сектора, но не их отдельные байты, ну а с каким сектором работать, мы указываем с помощью его номера.

    Кстати, хотя стандартный размер сектора равен 512 байтам, это не обязательно так; контроллеры гибких дисков официально поддерживают 128, 256, 512 и 1024 байта. Другое дело, что лучше нестандартные размеры не использовать -- тогда не сможешь дискету прочитать без специальной программы. Ну а на упомянутых ЕС-5061 длина блока вообще переменной была -- от 0 до максимальной длины дорожки (7294 байта вроде, уже не помню точно).

    И ещё кстати :) Номера головок и цилиндров начинаются с нуля, а секторов -- с единицы. Вероятно, это связано с тем, что на мэйнфреймовских дисках IBM, к коим принадлежит и советский клон ЕС-5061, нулевой блок содержал кой-какую служебную информацию о дорожке, а собственно блоки, входящие в состав файлов, нумеровались с единицы. Организация данных на дискетах и современных винтах совсем другая, но унаследовать систему нумерации вполне могли.
     
  4. Necromancer13

    Necromancer13 Виталий

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    202
    Адрес:
    Украина, Берегово
    ну и я о том же;)
    даже когдая писал этот PE-Viewer, я писал его для того, чтоб лучше понять формат PE-файлов для написания вируса:)
    P.S. забыл сказать, что я еще и кейген написал;)
     
  5. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Necromancer13

    Ну, простой вирус -- дело нехитрое, а действительно качественный -- жутко сложное. Там же маскироваться надо, причём не только от ламеров и блондинок :)

    И как успехи с PE, всё понятно стало? :) А то там немало подводных камней, плохо документированных либо вовсе никак не документированных. Качественный анализ PE -- довольно геморройное дело из-за всего этого (хотя, конечно, драйвер написать навряд ли проще).
     
  6. Necromancer13

    Necromancer13 Виталий

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    202
    Адрес:
    Украина, Берегово
    да.... я это вчера прочита=)

    и это вчера читал)

    спасибо тебе, SII, за твое длинное сообщение:)
    с него я много интересного узнал:)
     
  7. Necromancer13

    Necromancer13 Виталий

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    202
    Адрес:
    Украина, Берегово
    я так и не написал вирус, разобрался примерно, что такое SEH, как искать адрес кернела, как искать адреса API функций... а потом перестал читать ту статью...
    ну мне бы хоть простой вирус написать.... а прятаться ему не обязательно:)
    если вирус видят антивирусы, то мне наоборот нравится, что мой вирус кто-то находит - это означает что это на самом деле вирус!;) я даже очень обрадовался, когда увидел, что мой кейлоггер антивирусы опредилили как PSW-троян...
    Да мне и смысла большого нет заставлять их прятаться.. раньше еще распрострянал то, что писал... но жаль узеров, совесть потом мучает... поэтому не распространяю, пишу только для себя:)

    да примерно понял!:)
    у меня простая проверка была - ищет MZ-сигнатуру, потом PE-сигнатуру, если обе присутствуют, то файл валидный PE-файл :)