У меня так бывало, когда страницу сохранил, как адрес.com загрузщик думает файл ком. А нах писать "afaik" - когда можно и по русски? так круче?
Rockphorr Запускаем программу notepad.exe, пишем текст: bugaga. Сохраняем документ как bugaga.exe и запускаем. Открывается консольное окно, в котором ничего не происходит, висит курсор и все. Возвращаемся в файл-менеджер (Проводник) и запускаем еще раз. Во втором окне курсор скачет по всему окну, а в первом курсор пропадает вообще. Если теперь переключиться на первое окно, то курсор начнет бегать в нем, а во втором исчезнет. Компьютер при этом начинает заметно тормозить (программа грузит процессор на все 100%). Если на компьютере имеется LPT-принтер, на него вываливаются пустые страницы. Берем дизассемблер, вводим в него этот файл, открываем. Получаем такую программу (слева команды, справа коды): Код (Text): 627567h | bound si,[di+67h] 61h | popa 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 – помногу.