объясните мне этот феномен

Тема в разделе "WASM.HEAP", создана пользователем Rockphorr, 27 янв 2010.

  1. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    что за хрень ??? кода то афаик нету - есть только обломок заголовка
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Rockphorr
    У com?
     
  3. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    было, поиск по форуму
     
  4. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Загрузчику расширение фиолетово.
    Если в начале нету сигнатуры MZ - файл воспринимается как COM.
     
  5. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    У меня так бывало, когда страницу сохранил, как адрес.com загрузщик думает файл ком. А нах писать "afaik" - когда можно и по русски? так круче?
     
  6. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    spa
    ты прав, прошу прощения за баян
     
  7. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.890
    Rockphorr
    Запускаем программу notepad.exe, пишем текст: bugaga. Сохраняем документ как bugaga.exe и запускаем. Открывается консольное окно, в котором ничего не происходит, висит курсор и все. Возвращаемся в файл-менеджер (Проводник) и запускаем еще раз. Во втором окне курсор скачет по всему окну, а в первом курсор пропадает вообще. Если теперь переключиться на первое окно, то курсор начнет бегать в нем, а во втором исчезнет. Компьютер при этом начинает заметно тормозить (программа грузит процессор на все 100%). Если на компьютере имеется LPT-принтер, на него вываливаются пустые страницы.
    Берем дизассемблер, вводим в него этот файл, открываем. Получаем такую программу (слева команды, справа коды):
    Код (Text):
    1. 627567h | bound si,[di+67h]
    2. 61h | popa
    3. 6761h | popa
    команда bound:
    Действие: сравнить значение в 16/32-разрядном регистре индекс с диапазоном значений, первое из которых - это нижний индекс, второе - верхний индекс плюс размер операнда в байтах. Значение нижнего и верхнего индексов расположены последовательно в двух ячейках памяти размером слово/двойное слов, адресуемых операндом границы_массива. Структура границы_массива помещается обычно непосредственно перед массивом, позволяя его адресовать. Если значение индекса вышло за пределы указанного диапазона значений, то возбуждается прерывание с номером 5, если нет - программа продолжает выполняться.
    В данном конкретном случае отладчик показывает si=0 di=0 [di+67h]=20h [di+69h]=0 что вызовет прерывание.
    Достаточно написать b и любую букву, и курсор начнет скакать. Так же выяснилось, что удерживание клавиши ctrl увеличивает скорость перемещения курсора. Еще эксперименты показали - достаточно символа b для подвисания консольки и рандомного перемещения курсора. Windows, запуская exe видит, что exe не соответствует формату и запускает его как com, которому, никакой формат заголовка не нужен. Однако нормальное поведение com'а - это дойти до конца и завершится, а не гадить на принтер, а тут оно зацикливается. От одной буквы! От hex-кода 62.
    Рассмотрев повнимательнее "рандомно скачущий курсор" и поведение матричного принтера - программа выкидывает ВО ВСЕ ВЫХОДНЫЕ ПОТОКИ пустые строки в случае с "b", а в случае с "bu" что-то типа tab'ов. Курсор скачет просто от того, что консоль Windows подтормаживает от такого количества информации и поэтому двигает курсор рывками. А принтер пробелы не печатает, а просто двигает головку. То есть в случае с b - двигают понемногу, поэтому, бумага перемещается медленно, а с bu – помногу.
     
  8. newbie

    newbie New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2008
    Сообщения:
    1.246
    куясе о.О
     
  9. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    Mikl___
    спасибо, я уж все нашел, прочитал - топик можно закрыть