Русский
Русский
English
Статистика
Реклама

Пасхалка

Перевод Украдено у Apple

05.05.2021 20:22:59 | Автор: admin

В 1980 году компания Franklin Computer выпустила клон Apple II под названием Franklin Ace, разработанный под яблочное ПО. Из Apple II скопировали практически все, включая программное обеспечение из ПЗУ и документацию, и продали клон по более низкой цене. Мы даже нашли место в мануале, где забыли поменять Apple на Ace. В Apple пришли в ярость и подали на Franklin в суд. В конце концов мы победили и вынудили Franklin убрать Ace с рынка.

Компьютер Apple IIКомпьютер Apple IIКомпьютер Franklin ace 100Компьютер Franklin ace 100

Несмотря на то, что Apple выиграла дело, какое-то время нам было страшно и не до конца понятно, вынесет ли судья решение в пользу Apple в следующий раз во Franklin утверждали, что они имеют право копировать ПЗУ Apple II, поскольку это просто функциональный механизм, необходимый для программной совместимости. Мы думали, что кто-нибудь может попробовать аналогичный трюк с Macintosh. Возможно, кто-то достаточно сообразительный мог бы замаскировать код (скажем, путем систематической перестановки некоторых регистров), чтобы он не выглядел похожим на оригинал на двоичном уровне. Мы подумали, что нам лучше принять меры предосторожности.

Стив Джобс решил, что если какая-нибудь компания скопирует ПЗУ Macа на свой компьютер, то он хотел бы иметь возможность сделать демонстрацию во время испытания, где мог ввести несколько комбинаций клавиш на немодифицированном скопированном компьютере и получить большой значок Stolen from Apple на экране. Процедуры и данные для выполнения этого должны быть незаметно встроены в наше ПЗУ, чтобы клонировщики не знали, как их найти и удалить.

Из такой каверзной задачи получился забавный проект. Сьюзан придумала симпатичную иконку Stolen from Apple с тюремными решетками. Стив Кэппс разработал простую схему сжатия значков из ПЗУ для экономии места, поэтому мы сжимали значок с помощью его метода, который не только уменьшал накладные расходы, но и значительно усложнял обнаружение значка. Наконец, мы написали крошечную процедуру для распаковки значка, его масштабирования и отображения на экране. Программу спрятали в середине некоторых таблиц данных, чтобы ее не нашли при дизассемблировании ПЗУ.

Первоначальная версия значка. Впоследствии тюремные решетки убрали.Первоначальная версия значка. Впоследствии тюремные решетки убрали.

Все, что нужно было сделать для ее вызова, это войти в отладчик и ввести букву G и шестизначный шестнадцатеричный адресом, что означает выполнение процедуры по этому адресу. Работу продемонстрировали Стиву, и ему понравилось. Мы даже надеялись, что кто-то скопирует ПЗУ, чтобы продемонстрировать нашу предосторожность.

Насколько мне известно, в дальнейшем никто никогда не копировал ПЗУ в коммерческом проекте, так что во всем этом не было особого смысла, но на какое-то время возникла некоторая интрига. Мы проговорились, что где-то там был спрятан значок Stolen from Apple, отчасти чтобы удержать людей от копирования ПЗУ. Однако один хакер стал одержим попытками его найти.

Наиболее известная версия значкаНаиболее известная версия значка

Стив Джасик автор дизассемблера/отладчика MacNosy, который можно было использовать для создания псевдо-исходников для ПЗУ. Он довольно быстро узнал о значке Stolen from Apple и решил изолировать его. Стив жил в Пало-Альто, поэтому я время от времени натыкался на него. Он просил дать подсказку или высказывал свои теории, которые всегда были неправильными.

Это продолжалось два или три года, прежде чем Стив наконец расколол задачку: он рассказал мне о сжатой иконке и адресе процедуры отображения. Я поздравил его, но не был уверен наверняка, понял ли он это сам или кто-то, имеющий доступ к исходному коду, проговорился.


Дата-центр ITSOFT размещение и аренда серверов и стоек в двух дата-центрах в Москве. За последние годы UPTIME 100%. Размещение GPU-ферм и ASIC-майнеров, аренда GPU-серверов, лицензии связи, SSL-сертификаты, администрирование серверов и поддержка сайтов.

Подробнее..

We need to go deeper как пасхалка в приложении Delivery Club сократила субъективное время ожидания еды

11.06.2021 16:11:37 | Автор: admin


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

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

Сашин скриншот того, как всё начиналось.

Саша:
У меня есть свой небольшой проект словесно-карточная игра Кто из нас? На одном из очередных разборов игры родилась мысль, что можно внутри игры спрятать ещё одну игру. Люди найдут её и скажут: Ого, я играл в одну, а сейчас играю в совершенно другую. Но игра, которую я делаю, не настолько популярна, поэтому если туда прятать ещё одну игру, то её просто никто не увидит. Возникла вторая идея. Я работаю в Delivery Club, и у нас миллионы пользователей, у которых есть общая проблема время ожидания заказа. Нужно либо сокращать время доставки, либо как-то развлечь пользователя, пока он ожидает. И я пошёл по второму пути: придумал решение в виде небольшой игры внутри основного приложения.
Дизайн для первого прототипа змейки сделала девушка Саши, а звуки Саша создал сам в интернет-синтезаторе.


Прототипы первых экранов.

Уже в январе ребята буквально за полдня в коворкинге написали MVP на Swift и SpriteKit. Там были крупные кнопки и небольшой игровой экран, как в тетрисе. В финальной версии от кнопок на экране отказались: из-за того, что они плоские, а не объёмные, как на настоящей консоли, змейкой было неудобно управлять.
Саша:
Мы собрались с Сахеем и начали писать приложение в духе лучших стартапов. Заказали пиццу. Пива там не было, поэтому мы пили кофе. За один день у нас был готов прототип, который уже выполнял свою задачу. Игра запускалась, был первый квадратик, который начинал ездить. Он поедал эмодзи, змейка росла; врезавшись в стенку, она умирала. Осталось её только докрутить: добавить включение и выключение звука, доработать экраны начала и конца игры. Этим мы занялись уже в свободное время дома.
Сахей:
Очень понравился этот режим стартапа. Обычно на работе есть все спецификации и документация протоптанная тропинка, по которой ты идёшь. А тут был полный полёт мысли. Мы ещё хотели изначально поменять рендеринг на SwiftUI или на UIKit, но не стали так извращаться, SpriteKit отлично подходил для нашей задачи. Он оптимизирован под отрисовку спрайтов. Если в UIKit 100-200 вьюшек, то FPS очень сильно проседает, а в SpriteKit нет. Но мы фана ради хотели попробовать.


Разработка MVP.

В феврале ребята пришли с готовым прототипом к руководителю направления и показали, как змейка могла бы выглядеть внутри приложения Delivery Club. Мы собрали небольшую рабочую группу, в которую, помимо ребят, вошла дизайнер продукта Лера Зуйкова. И решили доводить проект до совершенства.

Финальную версию змейки пришлось достаточно сильно упростить ребята увлеклись и придумали много дополнительных возможностей. Решили оставить простой и красивый вариант, чтобы не отвлекать пользователя от основной функции приложения.
Саша:
Когда Лера показала свой дизайн, у нас с Сахеем загорелись глаза. Мы такие: Вау! Можно же настолько красиво и современно всё сделать! У нас появилась куча новых идей. Можно нарабатывать опыт у змейки с каждой игрой и набирать очки, за них покупать змейке какой-то апгрейд, типа шапочки или щита, чтобы она врезалась в стенку, а у неё на одну жизнь больше было. Но всё-таки история со змейкой должна была где-то кончиться, чтобы дойти до релиза. И мы решили упростить игру, чтобы не смещать фокус с основного функционала Delivery Club.
Лера:
На самом деле, когда в работе есть много рутинных задач, и внезапно кто-то приходит и предлагает сделать игру, это очень воодушевляет. Поэтому мы сразу активно включились в историю со змейкой и стали делать супер-красивые дизайны, продумывать механики. Все механики не были добавлены в финальный релиз ещё и потому, что вначале мы хотели всё проверить. Просто потратить кучу времени на разработку и сделать фичу, которую потом нашли бы три человека, было бы странно. Поэтому мы сошлись на простом решении, которое можно было быстро сделать, запустить и посмотреть реакцию пользователей. Если это окажется интересным, мы будем развивать игру: делать рейтинги, баллы и так далее.
Георгий:
После того, как ребята реализовали версию под iOS, мы принялись адаптировать приложение под Android. Разработка велась на Kotlin, всё сделали нативно, без использования сторонних библиотек. В конечном итоге версию под Android получилось написать всего за четыре дня. Идея была творческой и разнообразила череду рутинных задач.
Реализацию Android-версии Змейки можно посмотреть на GitHub.



Промежуточные варианты дизайна экранов.

18 мая змейку добавили в приложение Delivery Club. Чтобы в неё поиграть, нужно потрясти телефон на экране с заказом. Мы нигде не писали про пасхалку, но уже сейчас в неё играют 5-7 тысяч человек в день со средним временем игры 3 минуты 10 секунд. Нескольким тысячам пользователей игра скрасила минуты ожидания заказа. Надеемся, теперь игроков станет больше.

А если после прочтения у вас появились собственные идеи для пасхалок в Delivery Club, принимайте участие в нашем конкурсе. Лучшие идеи будут опубликованы на N + 1 и, возможно, реализованы в нашем приложении.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru