Как уронить Windows шестью строчками кода / Хабрахабр. Однажды один знакомый рассказал мне про одну уязвимость в Windows. А именно из- за нее можно легко вызвать синий экран смертишестью строчками кода на Си. Причем программа не требует никаких прав администратора и вызывает только одну функцию масштабирования окна. Немного теории. В случае недопустимой инструкции процессор бросает исключение, а ОС уже сама решает, что с этим делать. Если это ошибка в программе и она никак не обрабатывается, то система выдает всем известное сообщение о том, что прекращена работа программы. Например, в этом коде деление на ноль — недопустимая инструкция.#include < stdio. Если же выполняется недопустимая инструкция в ядре системы, то все немного интереснее: мы увидим синий экран. INT. Довольно очевидно, почему они отличаются на единицу: невозможно в int запихнуть ноль, множество положительных чисел и множество отрицательных чисел так, чтобы количество положительных и отрицательных чисел было равно. Прямо вообще- вообще не использовать. Поэтому когда приходится работать с чем- то нецелым, используют две целочисленные переменные: числитель и знаменатель. Пример такой функции — Scale. Window. Ext. Ex. Она ничего особенного не делает — функция масштабирует окно. Второй и третий параметры, четвертый и пятый параметры — это как раз числитель и знаменатель. Xnum / Xdenom — масштабирование по x. Ynum / Ydenom — масштабирование по y. Функция будет делить одно число на другое в случае, если разметка контекста рисования (device context) располагается справа налево. В противном случае она, видимо, будет перед делением как- то менять эти числа. Чтобы поменять разметку контекста, есть функция Set. Layout. Устанавливаем разметку контекста с помощью Set. Прекращена Работа Программы Microsoft R Html ПриложениеПри запуске фaйла MAIN отсутствует программа запуска, предлагает в " Свойства" и указываете тип " Microsoft ( R) HTML приложение". Layout. После чего вызываем функцию Scale. Window. Ext. Ex с нужными параметрами. Из- за чего происходит необработанное исключение в ядре системе, что приводит к синему экрану. Конечно, можно код сократить до двух строчек, но тогда он уже будет совсем нечитабелен. Да и все функции на Си всегда можно сократить в одну очень- очень длинную строчку. Система падает на Windows Vista, 7 и 8. Баг наблюдался как на 3. P. S. Раньше с помощью такой недопустимой инструкции можно было убить bash, но сейчас это исправили. UPDATE1: Изменил ((int) 0x. Сигнатура проблемы: Имя события проблемы: APPCRASH. Имя приложения: mshta.exe. При обновлении или создании архива 1С выдается ошибка Прекращена работа программы Microsoft HTML. И на этом все виснет . Прекращена работа программы Microsoft(r) HTML приложение. Сигнатура http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419. Не могу обновить конфигурацию 2.0.34.13 на 2.0.54.12 При обновлении вылезает ошибка 'Прекращена работа программы Microsoft HTML приложение' Пробовал на разных компах, везде одно и тоже Пробовал разные платформы, например 8.2.19.83 Помогите. Спасибо, Andrey. Dmitriev и alper. UPDATE2: Microsoft исправила эту уязвимость. UPDATE3: Ссылка на статью «первооткрывателя»: blog.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
October 2016
Categories |