Зачем тогда в бэкдоре использовать этот банальный «112»? Тогда бы была сделана какая-то комбинация, которую случайно может ввести только Человек-Брутфорс!
По моему опыту, причина бага — абсолютная случайность. Участвуют слишком много компонентов, каждый делается своей командой, и каждый делает своё дело, причем это исключительная функциональность, на 90% сделанная разными хаками:
— emergency call (может являться частью приложения телефона, а может и нет)
— device lock (независимое, там еще может появиться pin lock — тоже должен звонить 112, возможно баг там тоже есть, надо только вставить симку с включеной проверкой пинкода)
— что-нибудь на уровне менеджмента окон, для поддержи 'on top' для вышеперечисленных.
— кнопка выключения — это уже вообще загрузка/выключение устройства (сюда можно добавить важность подключения шнура питания для зарядки)
Например, в какой-то из моментов приоритеты окон не заданы, и обработка кнопки Power прибивает что-нибудь из отвечающих компонентов — или device lock, или поддержку 'on top' возможности для него.
А вот если подобный баг у них же уже был 3 года назад, то главное здесь — раздолбайство, нет регрессионных тестов, или же этот случай потеряли.
Мне всегда было интересно, каким образом так быстро находят настолько случайные(подразумеваю что набор действий практически случайный) уязвимости?
upd. Пока писал, выше подобный комментарий появился.
НЛО прилетело и опубликовало эту надпись здесьНЛО прилетело и опубликовало эту надпись здесь
Только хотел написать. Просто люди без опыта разработки не представляют себе что могут сделать с вылизанным (казалось бы) ПО особо одаренные пользователи. Они гарантированно найдут наиболее невероятный путь сквозь интерфейс приложения и сломают даже тщательно проработанную бизнес-логику. И уж тем более не о чем говорить, если таких пользователей сотни тысяч.
Ну ладно, в первый раз случайно получилось. Но надо ведь еще вспомнить, что ты до этого делал. В данном случае я бы, наверное вряд ли бы вспомнил шаги, если бы заранее не запоминал.
У Apple есть сервис Найти iPhone там и сообщение можно отправить и посмотреть где он находится, я думаю при утере техники ценой более 20000р пользователь озаботится её восстановлением.
Видео смонтировано — на 31-й секунде дёргается и палец исчезает с кнопки Power — так не получится, её надо держать. Но да, баг работает.
Тем у кого чёрный бар — вы не вовремя выполняете последний шаг, тренируйтесь.
К сожалению, работает (iPhone 4, no jail, 6.1). Но делать надо немножно по-другому. По видеоинструкции у меня тоже получался черный экран. А надо вот так:
1) Переходим на экран SOS (нажатием на «Экстренный вызов»)
2) Зажимаем «Power», отображается красная кнопка выключения
3) Нажимаем «Отмена»
4) Набираем 112 и сразу же нажимаем отменту. Ждем, пока отменится вызов
5) Нажимаем «Power», блокируем
6) Нажимаем «Power», разблокируем
7) Заходим на экран ввода пароля. Ждем 3 секунды.
8) Зажимаем «Power» и держим его
9) Примерно за полсекунды до появления красной кнопки нажимаем «Экстренный вызов» («Power» не отпускаем!)
Попадаем в «Контакты». Если отпустить «Power» – экран погаснет.
Более того, можно отправлять e-mail.
Заходим в какой-нибудь контакт, выбираем «Отправить контакт» → «E-mail».
Если выберем вместо «E-mail» пункт «Сообщение», получим возможность отправлять SMS :(
В iOS 6.1 возможен обход пароля