Что случилось 1 января 1970 года
Пользователи iOS пожаловались на неисправности при смене даты на 1 января 1970 года
Пользователи Reddit обнаружили баг в iOS, который вызывает необратимую восстановлением прошивки поломку iPhone или других мобильных устройств Apple. Если вручную поменять системную дату на 1 января 1970 года и перезагрузиться, iPhone «зависает» на этапе отображения логотипа и больше не включается.
Восстановлению смартфона в этом случае не помогает ни хард-перезагрузка (зажатые Home+Power), ни перевод в режим DFU с последующим обновлением прошивки. Единственное, что спасает айфон в данном случае — ручное отсоединение аккумулятора, что невозможно без обращения в профессиональный сервис.
Проблеме подвержены все версии iOS и iPhone, работающих на процессорах A7 и новее. На старых процессорах с 32-битной архитектурой этот баг не воспроизводится.
По словам некоторых пользователей, перевод часов на 1 января 1970 года не вызвал у них поломки. На Reddit высказали предположение, что причина во временных зонах — вычитание разницы в часовых поясах приводит к отрицательному значению переменной, отвечающей за время в системе.
У американских пользователей в западном полушарии Земли часовые пояса вычитаются из Гринвичского времени (UTC): например, в Нью-Йорке время — UTC –5. По этой причине баг может не воспроизводиться у российский пользователей (и всего восточного полушария), так как здесь часовые пояса прибавляются к Гринвичскому времени (Москва — UTC +4). Однако проверка московского видеоблогера Wylsacom показала, что установка времени на 13:00 1 января 1970 года и последующая перезагрузка также привели к неисправности.
Один пользователь Reddit рассказал, что ему достаточно было подождать несколько часов, пока процесс включения окончательно не разрядит аккумулятор, после чего телефон успешно включился и продолжал нормально функционировать. Другие комментаторы предположили, что стоит подождать несколько часов, до тех пор пока значение переменной, отвечающей за время в системе, само не станет положительным.
Согласно некоторым отзывам, в официальных магазинах Apple сотрудники не могут исправить проблему и меняют устройства на новые.
1 января 1970 года — так называемое UNIX-время, точка отсчёта времени, принятая в UNIX-системах. iOS основана на UNIX, как и Mac OS X. Существует понятие «проблемы 2038 года»: предполагается, что в этом году 19 января в 03:14:08 по UTC значение переменной, отвечающей за время в UNIX-системах, достигнет значения, которое может быть ошибочно интерпретировано как отрицательное, и за этим последуют массовые сбои компьютеров по всему миру.
Что случилось 1 января 1970 года
Вы наверняка обращали внимание на автоматическую установку даты 1 января 1970 года. Происходит это, если вытащить аккумуляторную батарею или же долго держать iPhone в выключенном состоянии. Именно с этой даты у всех айфонов начинается отсчет времени.
Читаем статью, если вы тоже уже горите любопытством, что же это означает.
Компьютерам нужно знать сколько время.
Для этого было придумано так называемое UNIX-время. Разработчиками стали инженеры исследовательского центра Bell Labs.
UNIX-время определяется количеством прошедших секунд начиная с полуночи 1 января 1970 года. Такой способ удобен при хранении и сравнении дат с точностью до секунд.
Стоит отметить, что 1 января 1970 года это не день рождения Unix. Еще в 1960-ых годах были первые версии операционной системы. Деннис Ритчи один из инженеров-разработчиков говорит, что дата была запрограммирована в систему когда-то в начале 70-х только потому, что это было удобно сделать.
9 сентября 2001 году был юбилей для операционной системы UNIX. 40-я секунда 46-й минуты во втором часу была миллиардной.
Конечно, относительно мало людей думают о времени в 32-битных целых числах. Человеческий разум жаждет круглых чисел, и один миллиард, пожалуй, самый округлый: десять аккуратных цифр, девять из них круглые, как пончик.
Если выставить на iPhone дату 1.01.1970, он превратится в кирпич
Linux для хакера
Крайне не советуем проверять описанный в этой статье баг на практике. Пользователи Reddit обнаружили, что устройства Apple подвержены странной проблеме: достаточно выставить на iPhone или iPad дату 1 января 1970 года, перезагрузить девайс и. ты получишь красивый, дорогостоящий кирпич. Устройство откажется возобновлять работу.
Пользователи Reddit опытным путем выяснили, что проблема распространяется на любые устройства, работающие под управлением iOS. Версия операционной системы значения не имеет, баг работает на чипах A7, A8, A8X, A9 и A9X. Единственные девайсы, на которых баг не срабатывает: устройства под управлением 32-битной версии iOS.
После установки даты на 1.01.1970 и перезагрузки устройства, оно перестает загружаться. Если подвергнуть гаджет данным манипуляциям, жесткая перезагрузка кнопками Home+Power уже не поможет, равно как и переход в режим DFU с последующим обновлением прошивки. Единственное, что может помочь – отсоединение аккумулятора. Но эта процедура требует вскрытия устройства, а значит должна производиться в официальном сервисе Apple. Также некоторые пользователи Reddit пишут, что им не помогло даже это.
В сети уже появилось множество видео, на которых пользователи, желающие проверить теорию на практике, «окирпичивют» свои девайсы.
Дата 1 января 1970 года не так проста. Дело в том, что это так называемое UNIX-время (или POSIX-время), то есть 00:00:00 UTC 1 января 1970 года является исходной точкой отсчета. Данная система применяется для описания моментов во времени в UNIX и POSIX-совместимых ОС, а к таковым относится и iOS.
Пользователи Reddit уже написали специальную утилиту, которая не позволит злоумышленнику (если он имеет физический доступ к аппарату) эксплуатировать проблему.
1 января 1970 года и iPhone: что это за баг?
В феврале 2016 года появилась очень интересная информация, касаемо операционной системы iOS. Сообщается, что пользователи известнейшего форума Reddit смогли обнаружить критическую уязвимость в операционной системе. Суть в следующем: при переводе даты на 1 января 1970 года и перезагрузке iPhone или iPad превращается в кирпич.
Как обычно, многие пользователи восприняли этот баг как шутку, тем более, что на многих ресурсах о нем рассказывали именно в шутливой форме. Каково же было удивление владельцев устройств, когда последние действительно становились кирпичами!
Процесс таков: нужно было зайти в «Настройки» — «Основные» – «Дата», перевести тумблер «Автоматически» в положение «Выключено» и выставить дату 1 января 1970 года, а время — 1:00 AM или 13:00. После процедуры устройство нужно было обязательно перезагрузить.
После перезагрузки пользователь видел вот что — яблоко на экране, причем постоянно:
В чем причина такого бага? Приводятся следующие версии:
Ошибка была актуальна для iPhone и iPad, построенных на базе процессоров A7, A8, A8X, A9, A9X.
Что касается решения вопроса, то оно, до выхода исправления от Apple, выглядело таким образом:
В iOS 9.3 beta 4 разработчики исправили баг, в результате чего устройство не должно окирпичиваться, если вы введете дату 1 января 1970 года. Но мы ничего гарантировать не можем, так что не рекомендуем выставлять указанную дату. Мало ли что.
Друзья! Если наш сайт помог вам или просто понравился, вы можете помочь нам развиваться и двигаться дальше. Для этого можно:
Почему даты рассчитываются с 1 января 1970 года?
есть ли причина использовать дату (1 января 1970 года) в качестве стандарта по умолчанию для манипуляции временем? Я видел этот стандарт в Java, а также в Python. Эти два языка мне известны. Существуют ли другие популярные языки, которые следуют тому же стандарту?
7 ответов
Unix time, или POSIX time, это система для описания точек во времени, определяемая как количество секунд, прошедших с полуночного пролептического координированного универсального времени (UTC) 1 января 1970 года, не считая високосных секунд.
вопрос делает два ложных предположения:
Две Дюжины Эпох
время в вычислениях не всегда отслеживается с начала 1970-х UTC. А эпохи популярно, различные вычислительные среды на протяжении десятилетий использовали по крайней мере почти два десятка эпохи. Некоторые из них из других веков. Они варьируются от 0 (нулевого) года до 2001 года.
1 января, объявление 1
1 января 1900 года
Эпоха Unix Общая, Но Не Доминирующая
начало 1970 года популярно, вероятно, из-за его использования Unix. Но ни в коем случае не является доминирующим. Например:
ISO 8601
если считать с эпохи через эпохи Unix открывает большой уязвимости жуки. Такое количество невозможно для человека мгновенно расшифровать, поэтому ошибки или проблемы не будут легко помечены при отладке и регистрации. Другой проблемой является неоднозначность детализации, о которой говорится ниже.
Граф что С Эпоха!—15—>
еще одна проблема с отслеживанием времени count-since-epoch-это единица времени с по крайней мере четырьмя уровнями разрешения.