Pull to refresh

Comments 134

Количество плюсов к статье удивляет о_О
Вот раньше я Винду 98 по телефону (без видео-звонка!) ставил со всеми дровами. А тут лишь год сменили... 2000, 2038, 2100, 10000 - какие ещё варианты будут?..

"Какое число и год сейчас в Китае?"

сейчас идёт 4720 год (с 22 января 2023 года по 9 февраля 2024 года).

UFO just landed and posted this here

Даешь новости по шаблону "найден новый способ сломать windows <тяжелый предмет на очередную букву алфавита>".

А ещё можно папку Windows удалить, а то чё она столько места на диске занимает?

Это Вам не linux какой, в Windows некоторые файлы даже Administrator удалить не может без танцев с бубнами — например, открытые на чтение. (В юниксе — может: дескриптор файла хоть и останется, и файл физически удалится только когда его закроют; а вот имя файла — из каталога пропадёт.)

Ну так и Administrator далеко не root. Последнего вообще не существует и его роль поделена на много подролей - System, Trusted Installer etc. ;)

Эта штука просто пытается восстановить файл после удаления же, и она сломается если удалить сначала резервную копию.

С загрузочного загрузиться. Пытливый ум всегда найдёт способ, а в какой-нибудь статье назовут исследователем.

Я так помог в установке линукса однажды, а потом пользователю не понравилась какая-то папка с непонятными файлами и он её удалил. Так что шутка ваша конечно шутка, но таки реальность.

Я так и в винде делал, правда во времена 95/98 версий

Нас много, думаю

папку Windows удалить

в установке линукса

(Терпеливо) Они используют разные парадигмы. Что можно чайнику, то нельзя бухгалтеру.

Долой полумеры! Даешь format c:! )))

Напомнило...

Первый раз когда попал в руки компьютер и раздобыл Windows 98 и надо было установить.

Установил. далее также поставил уже пару программ и смотрю на диске С(а других и не было при 4 Гб HDD) лежат какието файлы system.dat, *.inf, еtc - ну я их того удалил ,,, Потом смотрю после перезагрузки комп опять не включается, и снова устанавливаю и опять удаляю "мусор", и опять только после 3 удаленя и переустановки, решил оставить.

В XP они уже были скрытыми от простых глаз

Году в 1996 в компьютерном классе школы получили от спонсоров новейший Пентиум, на котором стояла 95 винда. У нас с другом был безлимитный доступ в класс, и дома тоже компы с DOS. Захотели себе такие же "окошки". На двоих было полтора десятка дискет. Заархивировали все папки и файлы, которые нам показались важными, архивы порезали на размер дискет и перетащили домой за несколько ходок. Потом ещё раз, поскольку пара дискет были битыми.. Самый большой (и самый, видимо, нужный) файл в корне диска с расширением .swp архивировался плохо.

Дома разархивировали. Надо ли говорить что ничего не заработало? "Разоча~1.bmp"

Уже потом я освоил переустановку Windows 95 по 4 раза за день (с первого не всегда вставала), на HDD размером 212Мб, плюс MSOffice и остальной важный софт.

Так с тех пор ничего не изменилось - продолжают удалять "мусор" ? А после этого в плохо работающей венде виноват конечно же Билли и его глупые инженеры, а не умный юзверь ?

Одно время я тоже был таким умником и оптимизировал всеми возможными способами, в итоге пришёл к тому, что лучше не лезть и о, чудо! вендовс то может нормально работать. Таким образом, долгое время сидел на 7ке без полных переустановок раз в полгода, впоследствии спокойно обновился до 10ки.

"Открываю я значит VolkovCommander, гляжу - слева диск С и справа диск С. Зачем, думаю, мне два диска С? Взял один и удалил."

Бедные потомки в 9999 году! Им придётся патчить Windows 11...

Сначала у Володьки спросят как это сделать...

Учитывая, как Майкрософт принудительно всех пинает на свежую версию винды, остаться на 11й версии к 9999 году шансов не будет

Скорее уж в районе Windows 2100-2200.

А еще потомки в 9999 году обсуждают легенды прошлого сидя в пещере в шкурах вокруг костра.

-- А еще, наши древние предки смеялись от мысли, что мы в 9999 году будем использовать windows 11

-- Что это?

-- Никто не знает. Вроде что-то для компьютеров.

-- Что это?

-- Никто не знает, но в легендах упоминается.

А если в биос выставить текущую дату? Винда при перезагрузке разве не подхватит?

Нужно проверить.

Нет, не подхватит. В случае разницы дат в BIOS и OS, Windows 10(11?) считает более правильной дату установленную в операционной системе. И при успешном запуске синхронизирует дату в BIOS с системной.

Уточните, пожалуйста, Ваше пояснение.
Исходя из Вашего описания сценарий "выключили компьютер в 12 часов, отключили его от интернета, включили в 13 часов" должен заставить винды перевести часы в биосе на 12 при включении.

Видимо защита срабатывает на перевод назад (севшая батарейка биоса или перестановка диска на свежую материнку).

Совершенно точно, при потере даты в BIOS Win10 установит дату и время которое было в системе на момент отключения.
Естественно этот сценарий действителен для отключенного интернета и доступных NTP серверов.

Не поленились, проверили. Вырубили кабель, перезагрузились, в биосе поменяли время. Загрузили винду - в винде время из биоса. Подключили кабель, вышли в интернет - подождали пару минут - в винде время из биоса, зашли в дату - нажали синхронизацию с сервером - в винде стало правильное время, перезагрузились - в биосе тоже правильное стало.

p.s.: windows 10 pro, 22h2 build 19045.3930

Время вперед или назад отматывали?

В обе стороны, но не экстремально, год туда, год сюда.

Главное Пушкина не спасайте (c) ТНТ.

Отмотали б года на два назад...

Ерунду говорите. Вот я ставлю параллельно Винде Линукс. Линукс время в БИОС по умолчанию пишет по гринвичу и обновляет при загрузке. После этого Винда 11 время показывает неправильное, и часа четыре после загрузки не синхронизируется.

И где я говорил об установленной бок о бок другой ОС которая выставляет время по своим правилам? :)

И при успешном запуске синхронизирует дату в BIOS с системной.

Да, но через 4-6 часов.

Опять же, всё зависит от настроек Windows, можно настроить синхронизацию с сервером NTP хоть через каждую минуту.

Можно год уменьшить и он перестанет быть 10000, тогда все должно заработать

Если бы этот "исследователь" выкатил объяснение этих тормозов и зависаний - это было бы интересно...

Возможно, что дело в переполнении даты изменения в ФС. При загрузке система открывает, создаёт и изменяет огромное количество файлов, а из-за столь большого года считает значение некорректным, что и вызывает глюки.

(но всё равно остаётся непонятным, почему так происходит. В NTFS диапазон годов - 1601-60056, 9999 год с лихвой в него входит.)

Очевидно что где-то (и не в одном месте, скорее всего) ломается код, переводящий время в строку. Или из строки обратно. YYYY-MM-DD

Если вам на условном собесе предложат написать регулярку для проверки даты - какой паттерн вы возьмёте (представим, что вы еще не читали эту статью)? Ну вот и все берут.

Очевидно что где-то (и не в одном месте, скорее всего) ломается код, переводящий время в строку. Или из строки обратно. YYYY-MM-DD

С другой стороны паттерн YY-MM-DD валидный?

Может быть "протухают" сертификаты драйверов устройств?

в таком случае, они бы и в 9999 году протухли, мне кажется. А тут все таки системный шаблон YYYY/MM/DD ломается

Скорее всего ломается функция сравнения дат. Надо смотреть на бинарное (внутреннее) представление дат в Win 10. Возможно боком вылазит оптимизация сравнения дат.

Да скорей всего везде по чуть-чуть ломается и все перестает работать нормально.

https://learn.microsoft.com/ru-ru/windows/win32/api/minwinbase/ns-minwinbase-systemtime

Судя по всему основная проблема именно в форматировании, т.к поддерживаемое значение намного больше.

Точно поломается эксель с расчётом дат: https://en.wikipedia.org/wiki/Time_formatting_and_storage_bugs#Year_10,000

Как я понимаю, глядя на документацию, что возможно в windows где то зевнули ошибку с преобразованием 32-х битного беззнакового целого в 64-х битное

  • Преобразуйте структуру SYSTEMTIME в структуру FILETIME .

  • Скопируйте полученную структуру FILETIME в ULARGE_INTEGER структуру.

  • Используйте обычную 64-разрядную арифметическую для ULARGE_INTEGER значения.

при котором всё что было выше 32-х бит теряется и значение обрезается. Насколько это серьёзно? ;) В Win9x это переполнение приводило к зависанию. :D

Microsoft Windows 95 and Windows 98 had a problem with 2^32 millisecond rollover in a virtual device driver (VTDAPI.VXD), which caused systems to hang after 49.7 days.

Не это. Проблема 49.7 дней - это проблема системного монотонного таймера, который GetTickCount, эта проблема сохранялась аж в XP.

Не знаю зависали ли от этого в XP драйвера, но многие программы наверняка вели себя некорректно.

Скорее всего сильно не влияла, т.к. регулярно встречал WinNT разных поколений, версий и редакций с аптаймом более 50 дней.

интересно, они в MS завели тикет на исправление этого бага? И какой дедлайн ему поставили?

Естественно мелкомягкие завели тикет, максимальный приоритет Zero day vulnerable, а дедлайн наступит "когда рак на горе свистнет" или точнее "when pigs fly".

Валидность сертификата драйвера определяется отметкой времени в момент подписывания этого драйвера. Дальше сам сертификат может истечь достаточно безболезненно.

"Если бы тут были спички!"
Всё зависит от строгости политик безопасности, при строгой проверке драйвер превращается в тыкву в момент истечения срока действия сертификата.

Хакеры с солонкой все больше лютуют

Запрограммировали устаревание!

Если очень нужен способ что-то сломать, для очередной статьи - обращайтесь. Беру не дорого.

— Вася сломал сервер!
— Он что, стал хакером???
— Нет, он всегда был @удаком!

Старый анекдот

Купили как-то суровым сибирским лесорубам японскую бензопилу.
Собрались в кружок лесорубы, решили ее испытать.
Завели ее, подсунули ей деревце.
«Вжик» — сказала японская пила.
«У, мля...» — сказали лесорубы.
Подсунули ей деревце потолще. «Вж-ж-жик!» — сказала пила.
«Ух, мля!» — сказали лесорубы.
Подсунули ей толстенный кедр. «ВЖ-Ж-Ж-Ж-Ж-Ж-Ж-ЖИК!!!» — сказала пила.
«Ух ты, мля!!» — сказали лесорубы.
Подсунули ей железный лом. «КРЯК!» — сказала пила.
«Ага, мля!!!» — укоризненно сказали суровые сибирские лесорубы!

"И ушли рубить лес топорами…" вроде было ещё в конце.

UFO just landed and posted this here

какая польза автору от такого троянца?

"А нечего пользоваться недопродуктом, который алчные корпорации втюхивают им даже без тестирования и зарабатывая сверхприбыли на наивности покупателей!"

От CIH какая польза была автору? А от MSBlast?

Эра романтиков давно прошла, сейчас - эра прагматиков. Уже лет 15 как любая эпидемия малвари имеет сугубо коммерческую или иную утилитарную подоснову.

Четверо держали, трое одевали. Там одно ограничение даты, там другое. Дальше хуже будет

"Найден способ..." такие заголовки обычно относятся к мусорным новостям.

«Найден способ сломать Windows 11. Нужно всего лишь...»

«Взять немного обычной советской...»

"соды, достаточно ..."

Видимо в 9999 году она должна была стать бесплатной.

Если археологи раскопают носители, за 8000 лет средняя глубина современного культурного слоя на 80 см уйдет вглубь земли (1 см за столетие в среднем).

Как-то маловато. Столетние дома практически по окна в земле сидят, так сильно вырос культурный слой.

Это из-за деятельности человека.

А если в среднестатистической степи или лесу DVD диск с виндовсом бросить, то будет заглубляться с такой скоростью.

Столетние дома практически по окна в земле сидят, так сильно вырос культурный слой.

Это не культурный слой, это дороги перестилают. В деревнях столетние дома стоят так же, как стояли.

Не обязательно дороги, если дом тяжёлый - он может зарываться в землю просто под своим весом...

Хотя столетний скорее всего настолько тяжёлым не будет (сейчас).

В деревнях с деревянными домами обычно другая проблема: нижние венцы давно сгнили. Был двухэтажный дом 170 лет, пол первого этажа уже на земле лежал, при этом на втором (летнем) этаже спокойно можно было жить.

Культурный слой тоже влияет, весь рельеф в деревне определяется тем, как стоят или стояли в прошлом дома. Типичный холмик в деревне - это где когда-то стояла печка.

Ой, да ладно вам) Забавный факт) С объяснением причины, конечно, было бы интереснее, но может теперь кто-нибудь и причину найдёт, и статью напишет) А так этот кто-то и не узнал бы об этом, без таких новостей. Может даже этот кто-то тут, на Хабре.

Стандартные настройки Windows 11 через пользовательский интерфейс не позволяют установить в качестве даты даже 2100 год. Максимум можно только выставить 23:59 31 декабря 2099 года.

Так ведь всё равно способ сработать должен. Только подождать придётся подольше.

То есть администраторы служб времени в интернет могут сломать все Windows в мире поменяв пару цифр? Соответственно любой администратор серверов у провайдера может отключить все компьютеры которые получают время транзитом через его сервер подменив пакеты с данными времени?

Мне кажется, что у администраторов есть гораздо более простые способы всё сломать.

Что касается NTP - то там один поломавшийся сервер не должен ничего испортить - там сервера, вроде бы, согласованно работают и один, передающий неправильно, будет просто исключён.

сломать все Windows

Вообще любую ОС, т.к. установка защищённых соединений зависит от точного времени (т.е. у вас отвалятся браузеры, обновления операционной системы и много чего ещё).

Соответственно любой администратор серверов у провайдера

Именно поэтому нужно повсеместно внедрять шифрование трафика, чтобы вот такие шаловливые администраторы транзитных узлов не шалили.

В линуксах и в некоторых юниксах если расхождение больше какого-то количества времени (ЕМНИП больше 3 часов ?), синхронизация не происходит автоматически, нужно принудительно вручную синхронизировать. Иногда даже надо выставлять время по-ближе к серверному для синхронизации. Думается, что в винде стоит похожий механизм.

Это не совсем про "линуксы и некоторые другие юниксы", это скорее про способы синхронизации в них. Есть chrony, ntpd, периодический запуск ntpdate и разные другие. Скачки времени с огромной разницей могут приводить к неприемлемым побочным эффектам, поэтому далеко не везде умолчания позволяют такой фокус, обычно такое можно разрешить, явно указав в конфиге демона или параметре ntpdate, при чём у демонов как правило есть способ смягчить эффект скачка времени, когда задаётся максимальное количество секунд, которое может быть добавлено за одну итерацию "подгонки" времени.

А из материнки не пробовали батарейку высунуть, ну или в биосе дату поменять

Проблема стотысячи?

Застал я борьбу в мире за весь мир в 1999 году. Психозов было... А сколько вариаций на множестве платформ!
Где от 16хх (DEC), где от 1900 (DOS, и где 2 знака), вариантов и фантазий было много.

Как и осталась проблема с счётчиками по секундам и сотым долям секунд. Причём очередной предел достаточно скоро, в 203х годах.

А уж денег потратили на рекламу события, тесты ПО, переписывание и замена ПО, замена оборудования, Остап Ибрагимович просто бился в конвульсиях, что так просто можно весь мир заставить вертеться!

Как сейчас помню даже диски продавали с подборками утилит для решения проблемы 2000) А утилит было помню с десятка два, т.е. уже тогда хайповали по максимуму.

03:14:08 UTC 19 января 2038 года из ближайших вроде из не криворуких пределов.

О проблеме 2000 года на википедии...

О 10000-м году сказано:

В системе Windows API структура SYSTEMTIME использует 16-битное поле для хранения номера года; при этом в документации указано, что допустимыми значениями являются 1601—30827 - еклмн, в win32/64 16 битное поле с win16 осталось?
сколько таких артифактов ещё есть - надо справочник 90х по win16 api открыть ;)

Windows XP чхать на это хотела.
Был на прошлой работе как то комп, на котором батарейка на матплате сдохла и при отключении электричества дата слетала на 10500+ год
и все отлично работало, кроме того, что нельзя было залогиниться, т.к. дата с доменом не совпадала.

никогда такого не видел, всегда время слетало на примерно год выпуска матки/платформы, или биоса) и во времена хрюши дата скидывалась на 2000-2002 год)

Я тоже очень удивился, но этот был какой-то особенный в этом плане.
Скринов уже не найду, это было 6-7 лет назад

Нашел
Это Win7

Ого, интересно откуда оно взялось? В биосе не смотрели какое время устанавливается?
У меня непроизвольно растянулась улыбка на пол лица от этого скрина, и никак не проходит)

DATE Windows 7

Работает и не глючит.

DATE Windows 11

Глючит и не работает.

Хех.

Самое интересно что легаси-лапши в 7ке больше.

Видимо, во времена 7ки даже лапша была качественнее.

"На хабре ж была статья про путешествие во времени.
Моё путешествие в будущее"

Возможно где-то здесь и проблема:

"10000 год – переход с 4-значных годов на пятизначные. ...31.12.9999 – это максимально возможное значение для .NET-овского класса DateTime в последней версии .NET."

Скорее всего в RTC биты обращались в тыкву без питания. Тут бы микруху посмотреть и ее даташит.

И чем это отличается от «”То-то!“ — сказали суровые сибирские мужики, засунув лом в японскую пилораму...»?

Если получить контроль над NTP сервером, получается можно массово сломать Windows

Во-первых, NTP-сервера работают по принципу консенсуса. Во-вторых, даже если как-то это обойти, это сломает не только Windows, у вас сдохнут все защищенные соединения вне зависимости от ОС, так что отомстить клятой M$ Muzdai не выйдет

Не важно, как работают сервера: клиенты коннектятся по фиксированному протоколу на один адрес, и если получить контроль над этой машиной, можно отдавать любую фигню.

Одно дело, если у вас Интернет начал везде орать, что сертификаты недействительны. Тут любой опытный человек полезет перепроверить системное время. Другое дело, если все компы в организации повисли и не грузятся, и никто не знает почему. Кто тут подумает про системное время на них всех сразу.

Так что да, перехватив NTP сервер можно устроить знатный DDoS.

Не вопрос, внутри организации поднимается доверенный опенсорсный NTP-сервер под Linux, в код которого (сервера), например, вы можете добавить ограничение на максимально возможную дату, а все клиенты уже ходят к нему.

В настройках распространённых ntp серверов есть такое? (не ставил ни разу сам). Или всё-таки исходники копать придётся для этого?

Мне позже подсказали, что в самой Windows есть возможность включить ограничение, не позволяющее слишком уж круто менять дату.

https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/configure-w32ime-against-huge-time-offset

Так что, все необходимые защитные меры в Windows уже есть, и если сисадмин ими пренебрегает - это его проблема.

Не подсказывайте им!

Ну вот, значит выйдет в 9999 году квантовый десктоп. "Вот теперь заживем" подумает юзеры. А тут хрякс и 10000 год наступает.

А этот фикс туда шёл со скруглёнными окнами вместе ? Иным образом gen-z прогать не умеют, обязательно нужно что-то по пути сломать, чтобы потом это починить и получить премию.

К тому же их к тому времени исправят.

Пока верится с трудом :) Наплодят кучу другого проблемного ?

А если в настройках BIOS изменить дату обратно на корректную, то переустановка также потребуется?

а если к другому компу диск подключить и там возможно "поправить" ее?

Попробовал в Virtualbox - не сработало. Дата осталась текущей.

Я сразу на хр присел) он только вышел

ЯННП. Для ломания надо изменить параметры загрузки, а для починки надо переустановить. Разве нельзя восстановить параметры загрузки и жить дальше с одуревшей от экспериментов системой?

Винда настолько умная, что сразу бросается себя чинить, править конфиги с "неправильными" датами. А когда дата возвращается, то всё уже безвозвратно "починено".

А далее начинается магия тормозов и зависаний ОС.

эта "магия" в винде и без смены даты начинается... винда не может не глючить по определению

Sign up to leave a comment.

Other news