Пользователь
0,0
рейтинг
8 июля 2013 в 14:50

Разработка → Модификация стоковых прошивок для Android. Часть 3

В продолжение Части 1 и Части 2

Давеча столкнулся с мнение одного недовольного пользователя:
Лучше чем сток все-равно нет ничего. Лабание прошивок на кухне заметно отличается от производства их в стенах корпораций. Всегда был уверен что кастом — г… о полное. Лишний раз убедился. Подожду в Связном нормальный аппарат пусть и за большие деньги, но с нормальной желейкой, а не пилено-коцаной умельцами.
Многие не понимают зачем делать модификации к прошивкам, а бесплатные труды разработчиков обрастают мифами. Давайте сегодня попробуем разобраться для чего и кому это нужно и развенчаем многие, порой глупые, домыслы.

Кому и зачем это нужно?


В современной IT индустрии появилось такое новомодное понятие как user experience . В переводе на русский язык буквально означает пользовательский опыт.

Так недавно компания Microsoft выпустила новую версию своей популярной операционной системы Windows 8. Но! все пользователи плюются и с тоской в глазах вспоминают кнопку «Пуск», которую компания производитель решила убрать по прошествии 20 лет. Находясь под давлением сообществ и расстроенных пользователей, компания Microsoft все же решила вернуть эту кнопку обратно в новой версии своей операционной системы.

Абсолютно также поступают и производители мобильных устройств, порой изменяя, дополняя или навязывая новый функционал в своих графических оболочках. Многие из нас приверженцы одного бренда в силу именно пользовательского опыта и готовы привыкать к нововведениям, даже если они оказываются не совсем удобными. Со временем мы миримся и, в конце концов, забываем, что нам что-то навязали. Но вот выходит новая версия устройства или программного обеспечения и нами снова манипулируют.

Так вот в моем понимании модификация стоковых прошивок призвана вернуть или дополнить некий функционал, который производитель обошел стороной. Примеров тому полно.

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



Во-первых, ее смысл (обведено левым желтым кружком) для меня остается до сих пор загадкой. Зачем дублировать иконку, если сигнализация об интернет соединении уже имеется рядом с иконкой качества сигнала (обведено синим кружком)?
Если развернуть слайдер, то увидим следующую информацию:



Которая мне тоже абсолютно ни к чему! Это только занимает лишнее пространство бесполезной информацией как в статус баре, так и в слайдере.
Идем далее. Помимо этого, появилось нововведение, позволяющее в слайдере включить или выключить энергосбережение.



Теперь уже большая половина экрана заполнена каким-то бесполезным мусором. Но это еще не все! Производитель решил «упростить» мне жизнь и добавить кнопок для быстрого доступа к настройкам.



80% пространства для важных уведомлений заполнено хламом. Не знаю как вам, а меня это очень раздражает. И родными средствами эти вещи ну никак не отключить. Теперь попробуем получить какое-то уведомление. Например получим почту или сообщение.





Как мы видим, закончилось место в статус баре и некоторые уведомления не показываются и скрыты от глаз. Во-вторых, чтобы посмотреть все уведомления, мне надо еще и пролистать слайдер. От таких новшеств хочется плакать. А теперь давайте все это уберем и посмотрим на результат, если отключим всё, модифицировав прошивку (иконка дебага убрана через persist.adb.notify=0).



И о чудо!!! Я могу теперь даже управлять оповещениями прямо в слайдере. Признаться, я этого не знал, пока не модифицировал прошивку.
Оказывается если место в слайдере занято, то оповещения будут весьма короткими и малоинформативными.

Надеюсь теперь многим стало понятно что такое пользовательский опыт и зачем кому-то необходимо что-то модифицировать! Теперь попробуем развенчать мифы.

Миф 1-ый: стоковые прошивки работают быстрее


Абсолютно не верный домысел. Да, если сделать только DEODEX и больше ничего, прошивка будет работать медленней на 5-10%. Но цель создания модифицированных прошивок в первую очередь избавление от ненужных и бесполезных приложений, которые навязаны производителем в маркетинговых целях. В своих прошивках Я удаляю или заменяю на менее ресурсоемкими около 40 приложений. Что дает мне прирост производительности в 1,5 раза, так как все эти приложения не висят в памяти и не съедают процессорное время.

Миф 2-ой: стоковые прошивки работают стабильней


Мы говорим о модификации стоковых прошивок, прошу заметить! Портирование или разработка прошивок под ваш конкретный девайс — это уже другая тема, этой не касающаяся. Так вот, изначально берется прошивка, предназначенная именно для конкретного телефона и созданная производителем. Если у вас не кривые руки и вы знаете что и как делаете, то на стабильность это ни как не влияет.

Миф 3-ий: если производитель так сделал, значит так оно надо


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

Миф 4-ый: моды, твики, патчи и прочее тоже навязывают видение разработчика


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



Заключение


Прошу прощение за задержку статьи. Состояние здоровья не позволило написать интересный материал, который обещал ранее. На днях обязательно будет четвертая статья о том как искать нужный фрагмент кода.
Нурлан Муханов @Falseclock
карма
59,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (42)

  • 0
    KCELLBEELINE позабавил :)
    • 0
      Тоже весьма удивило. В московских терминах получается TeliaSonera+VympelCom.

      Однако, даже имея одно уведомление об СМС, я не могу обнаружить функционал «ответить/удалить», обнаруженный на скриншоте.

      Имею 4.1.1 Android Revolutipn HD.

      Что касается иконок уведомления, их обычно можно погасить их Settings\Apps\%AppName%\Show Notifications = 0

      (Хотя не могу погасить иконку сбережения и (на этой прошивке) Beats Audio)
      • +1
        adb shell
        su
        pm disable com.htc.htcpowermanager/.powersaver.PowerSaverNotificationReceiver

        должно помочь убрать энергосбережение
        • +1
          Извините, сбережение или иконку?
          • 0
            Иконку, «PowerSaverNotificationReceiver» — получатель уведомлений от (службы) энергосбережения.
      • 0
        кстати, пока не убил энергосбережение, расширенный режим не увидел.
    • 0
      Телефон двухсимочный, соответственно пишет имена обоих операторов без пробела или другого разделителя.
  • +4
    По-моему топик достоин ветки на 4пда, но не более.
    • +2
      У каждого интерес свой, не нравится, прочитай и забудь. Мне статья понравилась. Мифы про прошивки встречаются повсеместно.
      • –2
        Извините, я забыл что нас читают дети.
    • +4
      Будь у меня такие рейтинг, карма и количество собственных постов за 5 лет, я бы предпочел отказаться от подобных комментариев, дабы не отбивать желание писать у других…
  • +2
    1. Миф 1-ый: стоковые прошивки работают быстрее.
    Я например, не против не стоковых прошивок, но я против прошивок и оболочек которые клепают производители смартов (HTC Sense, TouchWiz ит.п.) потому как они только замедляют работу системы и захламляют ее еще больше чем обычный сток. И именно поэтому появился этот «миф». И да, в этом плане, стоковые прошивки работаю быстрее.
    2. Миф 2-ой: стоковые прошивки работают стабильней
    > Так вот, изначально берется прошивка, предназначенная именно для конкретного телефона и созданная производителем.
    Ну дк это и не стоковая прошивка :) Стоковая прошивка — это прошивка созданная разработчиком ОС, т.е. гуглом. А такие прошивки можно встретить только на nexus-девайсах. Остальные — это модифицированные производителем смартов прошивки под конкретный девайс. Т.е. производитель только добавляет к стоку свои нестабильные фишки.
    • +1
      Если обратиться к этимологии — «stock» — это обозначение тиражируемого изделия, которое продается конечному покупателю дилером «со склада» (т.е. во время b2c транзакций — business-to-client). Любые отношения между «бизнесами» (b2b, business-to-business — в данном случае, по идее — Google-Samsung, Google-HTC и т.д.) — этого термина не касаются.

      Вопрос «как принято» понимать эту терминологию в среде моддеров-хакеров прошивок — более сложный — и, вероятно, если большинством поддерживается приведенная Вами трактовка — ее и стоит придерживаться…
    • 0
      Касательно трактовок уважаемый GreyCat уже ответил.

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

      Зачем они делают свои оболочки? Тема отдельной статьи.
  • +10
    Этот неловкий момент, когда скриншоты с мобильного телефона не умещаются у тебя на мониторе…
  • +2
    Писатели прошивок, производители телефонов, да и сами Google обожают прессовать в прошивку десятки ненужных программ. Обязательно суют видеоплеер, устаревший клиент фейсбука, какие-то навигационные приблуды, таск менеджеры, фоны раб. стола и пр.
    На мой взгляд идеальная прошивка должна содержать Google Play маркет, браузер и и звонилку. Дальше уж юзер сам загадит устройство на свой вкус :)
    • 0
      Полностью согласен. В конце концов даже теже самые googleapps(почта и пр.) легко раздобыть самостоятельно.
      • 0
        Ну, субъективно — не очень тривиально. Для этого обычно нужен какой-то способ ставить приложения не из apk, а уже распакованные образы (обычно в zip'ах) в прошивку — а для этого нужен или root + какая-то писалка в mtd или соответствующий recovery, который такое умеет.
        • +1
          Скажете тоже
          Вот: почта, поиск
          По сути, единственное чего нет в маркете — это основы основ (сам маркет, телефон, браузер и прочее жизнеобеспечение системы). А все остальное можно и скачать
          • 0
            Вы зря все в одну кучу мешаете. «Телефон», «браузер» и «прочее жизнеобеспечение» — части AOSP. Без них хоть теоретически и можно собрать образ, но смысла в этом примерно никакого нет — это более-менее свободное ПО, собирай да распространяй.

            Google Play (и всякие Google Play Services и т.п.) — это проприетарная надстройка Google, которая свободно не распространяется, а Google вообще-то хочет за ее установку с производителя телефона приличных отчислений.

            К сожалению, связи там куда более сложные, чем просто поставить один apk. Так, более-менее свежий (для 4.2.2) тарболл Google Apps содержит такие штуки как:

            system/framework/com.google.android.maps.jar <= без этого не будет работать Google Maps
            system/app/Talk.apk
            system/lib/libgtalk_jni.so
            system/lib/libgtalk_stabilize.so <= без этого не будет работать Google Talk
            system/app/GoogleCalendarSyncAdapter.apk
            system/app/GoogleContactsSyncAdapter.apk
            system/app/GoogleLoginService.apk <= без этого не будет работать Google Mail, Google Plus, да и, если уж на то пошло — сам Google Play
            system/usr/srec/*
            system/lib/libgoogle_recognizer_jni.so <= speech-to-text — в частности, для работы голосового поиска
            system/tts/* <= text-to-speech
            system/app/QuickSearchBox.apk <= этот самый «поиск»

            и т.д.

            То есть пользователю дают менять только небольшую часть внешней оболочки путем апгрейда этого внешнего apk — да и то в весьма ограниченных пределах — Google Mail от Android 4 вы не поставите, скажем, на Android 2.
    • +1
      Производитель равняется не на гиков, а на среднего пользователя.
      Не всем так просто запустить «маркет»( а что это и как?!) и установить себе все что надо
      Поверьте, многие очень далеки от этого.
      Я тоже всегда плююсь от лишнего софта производителей(поэтому и сижу на СМ) и думаю лучшим решением было бы если
      этот самый производитель разрешал бы удалять 99% своего софта не затрагивающего «телефонную часть»
      НО тут тоже палка о двух концах
      • 0
        Производитель, как правило, имеет вполне конкретный контракт с теми, чей софт предустанавливается и зачастую там вполне явно прописано, что нельзя пользователю разрешать удалять эти приложения.
    • 0
      Не все прошивки одинаково плохие. Например, такие как MIUI, добавляют очень много интересных функций, которые на первый взгляд может и мелочь, но общую картину составляют очень хорошую.
      Согласен в том, что если бы при установке прошивки можно было выбирать, какие не обязательные приложения поставить, то это был бы самый идеальный вариант.
      • 0
        не забывайте, дав такой выбор пользователям, вы только осложните взаимоотношение конечников с сервисными центрами, в следствие чего негативный опыт и потеря рынка сбыта. Те кто знают что им нужно и зачем им то или иное приложение — максимум 5% пользователей и они это делают на свой страх и риск. Зачем, думаете запрещен root на телефоне? Даже в операционных системах, что Windows, что десктопный Unix, принято в последнее время скрывать административный контакт. В Windows под пользователем Администратор не возможно произвести logon, если явно не разрешить это в системных настройках, а в Ubuntu предпочтительно использовать sudo.
        • 0
          Это не в Ubuntu, а вообще в мире *nix'ов так принято. Как сейчас помню, в 97'м году слакварь меня не пускала под рутом, только sudo (ну или su-камикадзе).
    • +2
      знаю нескольких людей из своего окружения, кто имеет Android телефон, но не имеет Google аккаунта для доступа на Google Play. И их это вполне устраивает.
    • +1
      Дикий плюс, из-за такого навязывания лишнего на моем HTC Wildfire всегда висело сообщение о заканчивающейся памяти при том что установлено было всего 4-5 приложений из не стандартного набора(вк, дропбокс, бумфокс и ватсапп)
  • 0
    И согласен и не согласен с развенчанием мифов.

    Я принадлежу к той части пользователей, у которых скорее EEPROM накроется от перепрошивок, чем сам телефон придёт в негодность (из-за различных факторов). Так вот ситуация с неофициальными прошивками показывает, что либо «модифицированная» прошивка не отличается на 99% от стоковой (то есть например собрана из исходного кода, без всяких системных модификаций) и работает стабильно (ну а правильно, чего же ей глючить, это почти чистый сток), либо там добавлены всякие вкусные плюшки, но никогда ещё я не находил такой, которая бы не висла/бутлупила/темноэкранила и т.д.

    То есть, я согласен с автором топика, что если убрать одну иконку — ничего страшного не будет. Но в чем же суть всех кастомов тогда? Как по мне — именно те самые плюшки, новые ядра, интересные планировщики ввода-вывода и т.д. А предустановленные программы на раз удаляются/замораживаются тем же Titanium Backup, нет смысла пилить отдельную прошивку под это.

    Поэтому всегда стоит выбор — стабильно и стоково, либо приятно/быстро и теоретически глючно.

    Поделитесь своим опытом, пожалуйста, может это я просто не нашел нужный дзен?
    • 0
      Вы, видимо, не читали первую и вторую части данной серии статей.
      В следующей статье будет именно про то, как вырезать эти ненужности.
  • +1
    Для меня, например, кастомные прошивки начались с моторолы Е398. У нее был какой-то инопланетный UX — не в смысле «космические технологии», а в смысле «не для людей». Сидел на стоке месяца четыре, потом надоело. Перепробовал все, что смог найти, но понятней и удобней телефон от этого не стал. Менял кастомы каждый день, самое долгое держался — две недели. Потом еще месяц на стоке и телефон в помойку.

    Потом были другие телефоны, без кастомов.

    В какой-то момент я разжился HTC Touch Diamond 2. В нем все было прекрасно, но пятая винда! (шестерка-же вышла две уже недели назад!) — это очень расстраивало. И я опять начал перебирать кастомы. И опять «красивости», опять глюки, и сожранная за два часа батарейка. Менял прошивки раз в неделю. Даже поставил порт андроида, но снес через два часа — оно толком не могло даже звонить, камера вылетала, а блютус так и не заработал. Вернулся на сток (его тогда уже обновили до 6.1), походил с ним немного и продал.

    Через период «звонилок» я дожил до HTC Sensation. Даже не рутовал его, но когда вышел четвертый андроид… А «они»-то не обновляют, а хочется же. И понеслись прошивки, «чистые 4.0», «4.0 с sense», «кастомы 4.0», даже кастомы на втором андроиде. Все смотрел, MIUI прожило аж шесть недель, пока не случилось обновление, которое сделало все на китайском. К тому моменту НТС выпустило обновление до четвертого андроида. Но они оставили там «старый» сенс 3.5, а он уже не радовал, а «новый» 4.0 из кастомов — тормозил и вылетал.

    Так он и лежит, разряженный бедняга, в столе со своим китайско-английским MIUI. А я купил себе телефон, к которому кастомов не делают — наверное потому, что спроса на них нет.
  • –2
    Для нубов, нужно нормально объяснение, что такое DEODEX.
    • 0
      Там много букв :) devfaq.ru/q/11277/
    • 0
      Нубам, которые даже не знают что такое деодекс, им и читать тут нечего. А то понаделают прошивок, одна другой круче — и сиди, выбирай, какая не брикнет трубку.
      • –1
        А нафига писать тогда в информации о прошивке, что она одексед или деодексед, если это запретное знание?
        • 0
          Вот эти magic words они для знающего человека что-то говорят, не знающий — он скачает, поставит и снесет сделает выводы, нравится оно ему или нет.
          Но вот по этому гайду, все те, кто не знает где сидит деодекс в прошивке — они, ну, не поймут этот гайд. И это хорошо.
    • 0
      Это было написано в первой и второй части статей.
      Если вы не удосужились прочитать их, то я не собираюсь из статьи в статью писать одно и тоже.
  • +2
    Вспомнил свой старенький Siemens ME45 и V-Klay. Вот было поле для творчества :-)
    • 0
      Например, патч, который позволял получить мультисим телефон (с выбором текущей сим-карты из меню, работой без физической сим-карты) выглядел примерно так:

      Siemens ME45 патч
      ; kvSIM 0.11 alpha — «MagicSIM», «Multi SIM Card in One» Base on Normal SIM card
      ;
      ; Author: Konca Fung
      ; (www.konca.com)
      ; 31th Oct, 2004
      ; for SLIK v56lg1

      ; Change Log:
      ; 0.11 Fixed Bug: Cannot use 'virtual SIM card 2'
      ; 0.1 Original verion

      ; Usage:
      ; I use 'Level' of the game 'The Maze'
      ; to select the «SIM card» you want to use.
      ; Beginer — your true physical SIM card
      ; Advanced — the virtual SIM card 1
      ; Expert — the virtual SIM card 2
      ;
      ; It will take effect when you shutdown and boot the mobile

      ; please change the Ki and IMSI yourself,
      ; the data that you needn't to modify please leave it as '00'!!!
      ; — (Ki + IMSI) Begin — ; You can just change this part when you want to modify the Ki and IMSI
      ; Format: (when you
      ; + 0x00: KI (16 bytes, for example: 8E1122334455667788997B73D22787CB )
      ; + 0x10: IMSI ( 9 bytes, for example: 084906000021436587 )( and please fill with '00' after it )
      ; + 0x20: Name ( Empty now )
      ; + 0x30: SMS Centre ( Empty now )

      ; datas of virtual SIM Card 1
      0x1FA060: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000; KI — change it if you need
      0x1FA070: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000; IMSI — change it if you need
      0x1FA080: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000
      0x1FA090: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000

      ; datas of virtual SIM Card 2
      0x1FA0A0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000; KI — change it if you need
      0x1FA0B0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000; IMSI — change it if you need
      0x1FA0C0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000
      0x1FA0D0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000
      ; — (Ki + IMSI) End — ; — Do not change the rest data — ; Hook SIM_Access_Function() in Send & Recv
      0x2C80FE: DAC02036 DABF00A0
      0x2C818A: DAC02036 DABF00A0

      ; Hook after 'Send back to IIC' and before 'Msg dispatch'
      0x2C75DE: E6003200 FABF04A0

      ; Program
      0x1FA000: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FABF08A0FABF0CA0FABF68A188108820883088408850886088708880889088A0
      0x1FA020: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 88B088C088D088E088F0DABF20A398F098E098D098C098B098A0989098809870
      0x1FA040: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 986098509840983098209810E6003200FACCE275DB002A206B7653494D202A00
      0x1FA160: FFFFFFFFFFFFFFFF 2036C000B483C700
      0x1FA168: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 88908880D4900C00D4800A00E6F12202E062DC42A8318AF34110E6F12202E062
      0x1FA188: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DC42A8310AF30202DC42B831E6F1BC09E6F23600DC42A92149218D08E6F1BC09
      0x1FA1A8: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6F23600DC42A9214923FD07E112E6F2BC09E6F33600DC43B922E6F1BC09E6F2
      0x1FA1C8: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3600DC42A92149222D0349232D090D0FE6F17020E6F2FE02DC42A9213D0F0D07
      0x1FA1E8: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6F1B020E6F2FE02DC42A9213D07E112E6F2BC09E6F33600DC43B922E6F1BC09
      0x1FA208: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6F23600DC42A9214921EA20DEA246FE8800EA209EA246FEA4002D0846FEC000
      0x1FA228: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2D1F46FEB0002D25EA00DEA2DC49A92847F26F00EA30DEA2F018F0290811DC42
      0x1FA248: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A96149672D0447F67E00EA30DEA2DC42A921E6F22102E063DC43B922EA00DEA2
      0x1FA268: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6F12102E062DC42A92147F288002D0B0D32E6F12102E062DC42A92149272D03
      0x1FA288: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 47F27E003D28E7F29200E6F22002E063DC43B9220D20E7F28800E6F22102E063
      0x1FA2A8: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DC43B92288C088D088F088E0E6F210008820E6FC1002E06DF0E8E600FE02F0F9
      0x1FA2C8: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F2F46421F2F56621DABF76AA080298E098F098D098C0D4101000D42012008820
      0x1FA2E8: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 8810D4301200883088908880D44012008840D45012008850D4A01200E600FE02
      0x1FA308: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 88A0F2F46021F2F56221DABF76AA06F0100098809890DB00E6FCBC09E6FD3600
      0x1FA328: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DC4DA92C4921EAF03AA4E6FCBC09E6FD3600DC4DA92C4923EAE03AA4E6FC2002
      0x1FA348: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E06DDC4DA92C47F29200EA303AA4E6FC2102E06DDC4DA92CEA203AA4E6FCBC09
      0x1FA368: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6FD3600DC4DA92C49222D084923EA303AA4E6FCA020E6FDFE020D04E6FC6020
      0x1FA388: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6FDFE02E6FE2102E06FDC4FA92E47F288002D3349272D0547F27E002D24EA00
      0x1FA3A8: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 24A4E6FE2202E06FDC4FA81E0AF10404DC4FB81EE09E88E0E6FF1C0BE6F13200
      0x1FA3C8: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F02CF03DDC5198CFA8DFF0F3F0E2E600FE0206FE1000F2F46421F2F56621DABF
      0x1FA3E8: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 76AA08020D1BE6FC2202E06DDC4DA8EC0AFE0808DC4DB8EC0D11E6FE1C0BE6FF
      0x1FA408: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3200DC5F981EA82E88208810F0ECF0FDE6FC1002E06DDABF30A80804E102E6FC
      0x1FA428: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2002E06DDC4DB92CE6FC2102E06DDC4DB92CDB00
      0x1FA43C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 66B1BAA2029C704B3719080CFBC1F6BC6DD597352A4FBF73E9F2A4DFD1946CA1
      0x1FA45C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FC25F42F40D306EDB9A08B714C8A3B46431A0D9D3FB3DD1ED624A645987CCF74
      0x1FA47C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F7C229544701310E5F23A915604ED7E1B6F31C5CC976044AF880110B9284F530
      0x1FA49C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 955A782757E66AE8AF137EBECA8D89B0FA1B6528DBE33A1433B262D88C162079
      0x1FA4BC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3D67CB481D6E55D4B4CC96B70F42ACC438C59E00642D990790DEA3A73C87D2E7
      0x1FA4DC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AEA526F9E022DCE5D9D0F144CEBD7DFFEF36A8597B7A499175EA8F6381C8C052
      0x1FA4FC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 68AA88EB5D51CDADEC5E69342EE4C60539FE619B8E85C7ABBB3241B57F6B93E2
      0x1FA51C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B8DA83214D561F2C583EEE12182B9A17509F866F0972035B1082530AC3F0FD77
      0x1FA53C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B166A2BA9C024B7019370C08C1FBBCF6D56D35974F2A73BFF2E9DFA494D1A16C
      0x1FA55C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 25FC2FF4D340ED06A0B9718B8A4C463B1A439D0DB33F1EDD24D645A67C9874CF
      0x1FA57C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C2F7542901470E31235F15A94E60E1D7F3B65C1C76C94A0480F80B11849230F5
      0x1FA59C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5A952778E657E86A13AFBE7E8DCAB0891BFA2865E3DB143AB233D862168C7920
      0x1FA5BC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 673D48CB6E1DD455CCB4B796420FC4ACC538009E2D640799DE90A7A3873CE7D2
      0x1FA5DC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A5AEF92622E0E5DCD0D944F1BDCEFF7D36EF59A87A7B9149EA75638FC88152C0
      0x1FA5FC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AA68EB88515DADCD5EEC3469E42E05C6FE399B61858EABC732BBB5416B7FE293
      0x1FA61C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DAB82183564D2C1F3E5812EE2B18179A9F506F8672095B0382100A53F0C377FD
      0x1FA63C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 130B50722B01455E27127F756103552B1B7C46532F473F0A2F594F040E3B0B05
      0x1FA65C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 236B67441556245B557E20326D5E7806354F1C2D635F292258445D376E7D6914
      0x1FA67C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5A504C60173C594079380E4A6508134E4C42682E6F32200327003A195C161233
      0x1FA69C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 39417774166D07563B5D3E6E4E634D430C71576266055821263817084B2D0D4B
      0x1FA6BC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5F3F1C317B7814702C1E0F626A02671D526B2A7C181E29106C64752849280772
      0x1FA6DC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 527324700C6664545C3048610936374A717B111A353A0409457A15762A3C1B49
      0x1FA6FC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 767D220F417354403E514601186F79536851317F30691F0A065B57251036747E
      0x1FA71C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1F260D00486A4D3D1A432E1D60253D3465112C6C473442392133195A02777A23
      0x1FA73C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 34322C061531293B27331920332F342B250428223D0C1C043A17080F0C160912
      0x1FA75C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 370A212332012B03390D3E0E072A2C3B3E391B06081F1A3629162D1427031038
      0x1FA77C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3002151C242A3C212212000B180A113D1D0E2D1A372E0B11362E09181E3C2000
      0x1FA79C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1426021E3A230110382817300D13131B1F352F263F0F3105253519243F1D0507
      0x1FA7BC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 01051D0619011217111300091819061F1C14181E041B030D0F100E1204030809
      0x1FA7DC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 14000C1A15081C021D020F070B160E0A11150C1E1A1B101F0B070D170A051613
      0x1FA7FC: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0F0C0A04010E0B0705000E0701020D080A03040906000302050608090B0D0F0C
      0x1FA81C: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3C24FE023C26FE023C27FE02BC27FE02FC27FE02
      0x1FA830: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 889088808870886088F088E026F0A200D4A0B000D430AE00E6FE1000F0FCF08D
      0x1FA850: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 26FF100000FEDC48A9CFF0FE00F0B9CF86FE1F00CDF3E01EE00CD4D0A200D4F0
      0x1FA870: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A40000DCDC4FA9CDF0DC00D0B9CD80FCCDF4E00CE00DEA004EA9E00FEA0040A9
      0x1FA890: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E058208CE0194C980B9DF2F80EFEF0BF00B8E049209CE0174C79F06B0067F010
      0x1FA8B0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 66F1FF3FF2F202FE001BDC42A9E1C0E7F08066F8FF3FF2F902FE0086DC49A988
      0x1FA8D0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C0845C140074E094204CE0164C64F6F70EFE4B66F2F70CFEC470A000DC49A988
      0x1FA8F0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C084DC42A9A1C0AB5C1B00B4F6FB0EFE4B66F2FB0CFEE6F61C28E6F7FE02F04C
      0x1FA910: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5C240064DC57D4560200A8468830D430A2000043DC45A984DC42B9819830DC57
      0x1FA930: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 9816A826001BDC42A9C1DC49B9C808F1E048208CE0194C98409FADA208D1E01F
      0x1FA950: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 4CFC40FDAD9A804CCD95E00CE00DF0FC00F0A9CFC0C6E03F20FD6C6F69C1F0FC
      0x1FA970: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5C2F00FD00F0E4CF2000803DCDF086FC1F00CDEC46FE0800DD2BE00CE10CE6F1
      0x1FA990: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1000001066F1FF3FF2F202FE001CDC42B9C1E00DF08C5C38008DF0F85C4F00F8
      0x1FA9B0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F08FBC6F7C9F00F866FF80FF81F000F8DC42A9C100F0F4EF2000C0E7E07F20FD
      0x1FA9D0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 4C7F71CEDC42B9C1807DCDE480FCCDD6808EEAC068A8E00EF0CE5C1CF0DC00D0
      0x1FA9F0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F4CD010000C0A9ECC0E75C4771ECF0C3F0DA00CEDC4DB9EC803ECDEEE00EF0CE
      0x1FAA10: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5C1CF0DC00D0F4CD1200C0C65C66F0DC00D0F4ED1300C0E75C2771CE00C0F4EC
      0x1FAA30: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1400C0E77C2771CEF0C3F0DA08C400CEDC4DB9CC805ECDE3F4C01E00C0C65C66
      0x1FAA50: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F4E01F00C0E75C2771CEDC4AE4C30A00E10CDC4AE4C30B0006F0A60098609870
      0x1FAA70: FFFFFFFFFFFF 98809890DB00
      0x1FAA76: FFFFFFFFFFFF ECF5ECF4DB00


      • –1
        За что минусы, господа?
        • +1
          Это Хабр, минусы тут обычно просто так
          • 0
            Понял, спасибо :-)

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