Нокия ta 1272 прошить как
Перейти к содержимому

Нокия ta 1272 прошить как

  • автор:

Нокия ta 1272 прошить как

Mobile-Files > Телефоны GSM > Nokia > Nokia для новичков

Просмотр полной версии : Nokia для новичков

Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 [104]

  1. Nokia X2 dual RM-1013 подсветка
  2. Nokia 105 Rm-1134 pinout
  3. Nokia X2 RM-1013 не включается.
  4. Asha 503 rm-920
  5. C7-00 часто просит голосовую метку
  6. Можно ли в C7-00 отдельно прошить контент?
  7. Как отличить Nokia 6300 от Nokia 6300i.
  8. Nokia x2 rm-1013 разъем АКБ
  9. lumia 520 висит на надписи нокиа и не загружается
  10. lumia 720 rm885 умерла при обновлении
  11. Vertu constellation f помогите опознать деталь
  12. Нужен бекап симлока и имей RM-980 под ATF
  13. nokia 620 sim
  14. GPS-ресивер Nokia LD-3W, аналог?
  15. Lumia 532 нет зарядки
  16. Lumia 630 вытащить данные
  17. Nokia 515 сломан сим лоток
  18. ASHA311 косяк со штатным браузером
  19. nokia rm-1187 совместимость дисплея
  20. Nokia 230 Dual Sim RM-1172 Contact Service
  21. Lumia 625 RM-941
  22. Распиновка Vertu RHV-3
  23. Nokia 6100 не включается, нужно восстановить данные
  24. Lumia 650 прошивка
  25. nokia lumia 830 «молния и шестеренка»
  26. nokia 630 не заряжаеться
  27. Nokia 225 rm-1012/1011 железный анлок
  28. nokia n9 код блокировки
  29. nokia 603 не включается.
  30. Nokia 225 Перегружается
  31. NOKIA N70 нет подсветки кнопок
  32. RM-1134 нужна прошивка v15
  33. Nokia 1520 нет изображения дисплея
  34. Nokia Lumia 520 проблема с тач скрином, нужен совет.
  35. Nokia 206 RM-872 не реагирует на кнопку включения
  36. nokia 1050 rm1120 прошивка
  37. Nokia 625 RM-941. Не видит СИМ
  38. Nokia 225 RM-1012 прошивка
  39. Нужен файл контента диска Е для nokia N-8 RM-596_M013.56.emmc.fpsx
  40. Nokia RM-1172 нужна прошивка или дамп 059X5V7 v14
  41. Nokia Lumia 920. Помогите опознать микросхемы.
  42. nokia 215 не видит sim карту (обрыв питания)
  43. Nokia rm-1072 нет подсветки, изображения дисплея после воды
  44. nokia ta-1030 сломан сим2. Ищу совместимость
  45. Microsoft Lumia 650 Rm-152
  46. Nokia X2 dual sim RM-1013 микрофон и servise manual
  47. Vertu Signature S Design RM-266v Куплю рабочую плату
  48. Nokia 230 RM-1172 после прошивки Contact Service
  49. Nokia asha 200 помехи вместо изображения
  50. Nokia X2 Dual RM-1013 кирпич
  51. Nokia 515.2 RM-952 не видится компьютером
  52. переделка шлейфа nokia 8800 arte под дисплей nokia 6300
  53. Vertu ascent ti rm-267v чем вытащить контакты?
  54. куплю прошивки для нокий не дорого 6263 6650
  55. Nokia 112 зарядное устройство не поддерживается
  56. 8800 RM-13 вечная зарядка
  57. NOKIA 206 проблема с зарядкой
  58. Lumia 625. Windows 10 как?
  59. Nokia 206 — ЗУ не поддерживается
  60. Nokia 105 нужны контакты
  61. Ищу старинные софты для Nokia / DESkey
  62. Оторваны контакты сим карты NOKIA LUMIA 920
  63. Lumia 650 (RM-1154) странное поведение
  64. Nokia E72 Камера
  65. Nokia 206 ,нет подсветки дисплея
  66. Lumia 550 RM-1127 завален бут
  67. C5-00 RM-645 Контакты из Full
  68. Nokia 3310 русификация.
  69. Кривой код разлока на Lumia 635 AT&T ?
  70. Lumia 1020 нет сети после замены EMMC
  71. Ищу прошивку nokia 220
  72. Nokia 1800 прошивка с польским языком
  73. Nokia X2 dual sim: как восстановить IMEI ?
  74. nokia 830 talback
  75. Nokia 2 DS TA-1029 не выходит из standby
  76. Unhappy Nokia 1110i rh-93 imei repair network does not come
  77. Nokia 105 (RM-908) Не включается
  78. NOKIA 3310 2017 TA-1006
  79. 6500c моргалик.Как виташить данние?
  80. Nokia E50-2 шипение в динамике
  81. RM-1030 чем прошить IMEI(прогер или донгл)?
  82. Nokia 808PW (RM-807) Не заряжается
  83. Vetru Signature rm-266v charging not supported
  84. Nokia 105 (TA-1034) вытащить контакты
  85. Nokia 130 Прошивка
  86. Nokia 32 Configurator
  87. Nokia X1 защитный код
  88. Nokia 6300
  89. w25q128 — в каких-нить телефонах стоит?
  90. nokia 215 4g TA-1272 Разыскивается прошивка
  91. 6700c проблемы со звуком
  92. Nokia 5 TA-1053 помогите замером
  93. Nokia 7 Plus подскажите, что за микросхема?
  94. Nokia 105 ta 1174 unlock code
  95. nokia 3250 rm-38 ищу прошивку
  96. Nokia 8800 RM-165.Ищу прошивку.
  97. Nokia 8800 E-1 Arte (RM-233) не включается
  98. Nokia 701 (RM-774) подключить к компу без дисплея
  99. TA-1008 Прошивка
  100. В поисках файл контента диска Е для nokia N8-00 RM-596_M013.56.emmc.fpsx

Мелкая доработка прошивки кнопочного телефона на платформе RDA8826 (SC6533, MIPS): отключаем Funbox, взламываем игры

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

Inoi 102 и Strike F10

Купил я телефон Inoi 101: дешевый, но функционально достойный даже на фоне более дорогих моделей. Всё бы хорошо, если бы не нежелательная функциональность, присущая большинству недорогих звонилок:

Платные игр и меню Funbox

  • Пробные игры с покупкой полной версии через СМС, причём состояние покупки сбрасывается при полном сбросе устройства;
  • Встроенное меню СМС-подписок «Funbox»: гороскопы, анекдоты, новости, прочая платная ерунда.

Попробуем устранить недостатки путём анализа и модификации прошивки.

Чипсет

Современные кнопочные девайсы строятся на платформах трёх производителей: RDA Microelectronics, Spreadtrum, Mediatek. Первой компании уже не существует: её купил Spreadtrum в середине 2015. Обе компании ребрендировали под именем Unisoc в 2018 году.

Рассматриваемый телефон работает на последнем чипе «классического» RDA семейства Gallite, и был сделан уже после покупки компании, из-за чего у чипа два названия: RDA8826C (RDA’шное) и SC6533g (Spreadtrum’овское). В интернете нет не только datasheet’ов, но и почти никакой публичной информации об этой модели.
Архивная страница сайта rdamicro.com 2017 года скупо повествует нам о ключевых возможностях SoC’а:

General Description
RDA8826C is a high performance, highly integrated system-on-chip solution for low cost, low power, GSM/GPRS mobile phone.
Integrating all essential electronic components, including baseband, quad band RF transceiver, power management, FM receiver, Bluetooth onto a single system on chip, RDA8826C offers best in class bill of material, space requirement and cost/feature ratio for complete phone handsets.

Key Features
1. MIPS 312MHz processor
2. GSM/GPRS modem
3. 32Mb Flash and 64Mb PSRAM integrated
4. 320×480(HVGA) resolution

Нынешние телефоны построены в основном на процессорах Spreadtrum и Mediatek архитектуры ARM. Inoi 101 — не только «последний из могикан» на чипе ныне несуществующей компании, но и работает на ныне непопулярной архитектуре, с не самым известным набором команд MIPS16e, в котором инструкции кодируются в 2 байта вместо четырех, для уменьшения размера прошивки, что жизненно необходимо устройству со всего 4 МБ (32 Мбит) флеша.

Печальный факт: производители современных звонилок агрессивно экономят на флеш-памяти. Доступный пользователю объем выражается, как правило, десятками килобайт.
Вы не сможете пользоваться диктофоном или камерой без MicroSD-карты. Количество контактов и СМС-сообщений в памяти телефона ограничено, как и длина поля «имя», и общее количество полей записной книги.
Для сравнения, в Samsung X100 2003 года выпуска пользователю было доступно 9 мегабайт памяти, в Siemens C65 2004-го — 6 МБ.
Такова плата за дешевизну: X100 — $230 на старте продаж, Inoi 101 — $9.

SoC RDA8826 содержит в себе центральный процессор RDA8809e2, Baseband-процессор CT8851C, Bluetooth и FM-модули rdabt_8809 и rdafm_8809. Достоверная информация о всех компонентах в интернете не представлена.

Получение прошивки

Чтобы модифицировать прошивку, нужно сначала завладеть ей. Самый простой вариант — поискать на веб-сайте производителя. Inoi выкладывает прошивки ко всем своим моделям, но они не всегда самые последние — оказалось, что в версии с сайта отсутствует набор Т9 и игра «Тетрис».
Что-ж, телефон уже прошит, придётся покупать второй и скачивать актуальную прошивку с него. Сделать это можно, в случае RDA, только сторонними программами, т.н. «боксами» — аппаратно-программными комплексами для прошивки и восстановления от сторонних разработчиков. Обычно необходимо купить сам «бокс» (устройство с набором кабелей) и подписку на ПО, но к счастью подходящее ПО уже есть взломанной версии, отвязанное и от бокса, и от подписки — Miracle Thunder 2.82 от Gsm_X_Team. Относитесь к этому ПО как к трояну — устанавливайте на отдельный компьютер, без интернета (в виртуалке не работает).

Miracle Thunder

Официальные прошивки поставляются в текстовом формате .lod. Этот формат описывает процесс прошивки поблочно, в соответствии с размерами блоков флеш-памяти, в виде адреса загрузки и бинарных данных, закодированных по 4 байта little endian. Формат нестандартный, но простой, без особенностей. Единственное, что нужно учесть при написании конвертера — файл описывает не все блоки флеша, некоторые из блоков не программируются (есть «дыры»).

#$mode=flsh_spi32m #$sectormap=(16 x 4k, 57 x 64k, 96 x 4k) #$base=0x08000000 #$spacesize=0x08000000 #$XCV_MODEL=xcv_8809e2 #$PA_MODEL=pasw_hs8292u #$FLSH_MODEL=flsh_spi32m #$FLASH_SIZE=0x00400000 #$RAM_SIZE=0x00800000 #$RAM_PHY_SIZE=0x00800000 #$CALIB_BASE=0x003FA000 #$FACT_SETTINGS_BASE=0x003FE000 #$CODE_BASE=0x00000000 #$USER_DATA_BASE=0x00380000 #$USER_DATA_SIZE=0x0007A000 #$PM_MODEL=pmu_8809 #$FM_MODEL=rdafm_8809e @08000000 d9ef0045 00000000 00000000 00000000 27bdffd0 afb10028 00808821 3c0481e0 …

Открываем дамп флеша или преобразованный файл прошивки в вашем любимом дисассемблере, начинаем анализировать, быстро разочаровываемся: строк мало, сегментация памяти непонятная, IDA норовит неправильно определить MIPS32/MIPS16-код, тут и там странные указатели 0x82xxxxxx на оперативную память, в которые никто не пишет…

Скребём по сусекам

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

Поиск приводит к двум репозиториям: https://github.com/jprothwell/sc-fix и https://github.com/cherryding1/RDA8955_W17.44_IDH
По первой ссылке можно скачать старые, но достаточно актуальные исходные коды загрузчика, HAL , пользовательского интерфейса и всей обвязки для старого семейства чипов RDA, а по второй ссылке доступен memory layout [1], [2] для нашего процессора.

Из заголовочных файлов узнаём самое основное:

  • Флеш располагается по адресу 0x88000000 (4 МиБ)
  • Оперативная память — в 0x82000000 (8 МиБ)
  • SRAM — 0x81C00000 (64 КиБ)
  • BootROM — 0x81E00000

UI на моём устройстве построен на форке фреймворка MMI (man-machine interface) от компании Pixtel — CoolMMI. Подобный фреймворк используется и в ОС для кнопочных телефонов Mediatek MAUI, под названием PlutoMMI.

Фреймворк создавался в лучшие годы кнопочных телефонов, с соответствующим качеством кода — всё завязано на глобальные переменные, глобальные состояния, магические константы, массивы строк, массивы функций-обработчиков кнопок. Монолитная архитектура без какой-либо модульности (даже минимальной) не позволяет писать красивый код — разные функциональные возможности активируются #define’ами в унифицированных *.c-файлах для всех случаев, затрудняющими чтение кода.

Обращение к текстовым строкам, ресурсам, задачам, меню, элементам NVRAM происходит с помощью уникального цифрового идентификатора, что затрудняет исследование: вы видите только цифры, далеко не сразу поддающиеся установке соответствия в осмысленную строку, пункт меню или ресурс.

/* Get current screen to gui buffer for history purposes*/ guiBuffer = GetCurrGuiBuffer( SCR_CALL_TIME_SETUP_MAIN ); /* Retrieve no of child of menu item to be displayed */ nNumofItem = GetNumOfChild( MENU_CALL_TIME_SETUP ); /* Get attribute of menu to be displayed */ //nDispAttribute = GetDispAttributeOfItem( MENU_CALL_TIME_SETUP ); /* Retrieve string ids in sequence of given menu item to be displayed */ GetSequenceStringIds( MENU_CALL_TIME_SETUP, nStrItemList ); /* Set current parent id*/ SetParentHandler( MENU_CALL_TIME_SETUP ); /* Register highlight handler to be called in menu screen */ RegisterHighlightHandler( ExecuteCurrHiliteHandler ); /* Construct hint for menu items */ ConstructHintsList(MENU_CALL_TIME_SETUP, displayBuffer); /* Display Category1 Screen */ ShowCategory52Screen( STR_MENU_CALL_TIME_SETUP, IMG_MENU_CALL_TIMES, STR_GLOBAL_OK, IMG_GLOBAL_OK, STR_GLOBAL_BACK, IMG_GLOBAL_BACK, nNumofItem, nStrItemList, (U16 *)gIndexIconsImageList, displayBuffer, 0, 0, guiBuffer ); /* Register function with right softkey */ SetKeyHandler( GoBackHistory,KEY_LEFT_ARROW, KEY_EVENT_DOWN); SetRightSoftkeyFunction( GoBackHistory, KEY_EVENT_UP ); return;

Начальную информацию об основных функциях PlutoMMI от Mediatek можно почерпнуть из файла mmi framework and architecture.pdf. Архитектура CoolMMI и PlutoMMI совпадает в достаточной мере, чтобы пользоваться (аналогично скудной) документацией конкурирующего производителя.

Поиск сжатых ресурсов

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

После непродолжительного анализа обнаруживаются три особенности:

Переиспользование функций из BootROM
Для максимальной экономии пространства на флеш-памяти производитель реализовал наиболее востребованные функции библиотеки C непосредственно в ROM-памяти чипа: строковые функции (strlen, strcmp, strcpy, strcat, strtok), функции сравнения и копирования памяти (memcmp, memcpy, memmem, memchr), форматирования и вывода (sprintf, vsprintf), поиска и сортировки (bsearch, qsort) вызываются из памяти ROM, и не содержатся в коде прошивки, экономя драгоценные килобайты.

Сжатие кода и ресурсов алгоритмом LZMA
Код наиболее объемных «модулей» (WAP-браузера, мультимедиа-плеера, приложения FM-радио, инженерного меню) хранится в сжатом виде, а распаковывается один раз, при запуске телефона. Ничего дополнительного после распаковки не происходит: код скомпонован так, будто эти модули всегда в оперативной памяти по фиксированным адресам.
Аналогично распаковываются текстовые строки, но только для одного, текущего языка.

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

Сжатые ресурсы легко находятся через binwalk. Можно было бы каждый из них вручную распаковать и загрузить в текущую базу IDA по корректным адресам, но я нашел способ проще, надёжней и быстрее.

Снятие оперативной памяти

Оказалось, протокол прошивки не только простой, но и разрешает чтение произвольных адресов без какой-либо подготовки, прямо во время работы телефона. В интернете была найдена готовая программа для чтения прошивки через UART, которая после модификации была использована для чтения всех 8 МиБ оперативной памяти через USB. 2 минуты — и никакой ручной работы!
Чтобы получить коммандный порт через USB, можно воспользоваться модулем usb-serial в Linux. Достаточно всего лишь «научить» модуль работать с RDA:

$ echo 1e04 0900 | sudo tee /sys/bus/usb-serial/drivers/generic/new_id

Разжатая функция в оперативной памяти

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

«Покупаем» игры

В рассматриваемом телефоне присутствуют 3 платных игры производства Gameloft: Danger Dash, Ninja Up, Tetris. Первая — раннер, без какой-либо физики прыжка, вторая — примитивный фроггер с одним экраном, играть можно разве что в тетрис, но он начинает тормозить при заполнении экрана фигурами.
Каждая игра запускается всего 5 раз, далее их предлагается оплатить. Игры стоят 99 рублей каждая — половину стоимости телефона — обдираловка!

С точки зрения пользователя, покупка совершается так: нажимаем на кнопку «купить», телефон отправляет платное СМС, пользователю приходит ответный код, который нужно ввести в окно регистрации. Но если купить игру, запомнить ответный код, сбросить телефон и попробовать заново ввести этот же код, то он, с большой вероятностью, не подойдет.
Как так?

  1. Генератор псевдослучайных чисел инициализируется значением текущей минуты;
  2. Генерируется псевдослучайное число от 1000 до 9999;
  3. Случайное число отправляется в СМС и сохраняется в NVRAM;
  4. Ответный код проверяется с учётом сохраненного случайного числа.

Связка запрос-ответ уникальна для каждой модели, и зависит от той минуты, в которую была нажата кнопка «купить»:

game_response_code = (1000 * (game_random % 10) + game_random / 1000 + 100 * (game_random / 10 % 10) + 10 * (game_random / 100 % 10)) ^ 0x1D6B; game_code_temp = game_response_code; game_response_code = atoi("28060") + game_code_temp; return game_response_code == input_code;

Где 28060 — идентификатор телефона Inoi 101.
Этот нехитрый алгоритм легко реализовать в виде кейгена, что я и сделал: http://gameloft-keygen.valdikss.org.ru/
К слову, на телефонах с Mediatek алгоритм кода регистрации точно такой же, но алгоритм генерации псевдослучайных чисел отличается.

Самый простой способ зарегистрировать игры навсегда — пропатчить код инициализации, заменив переменные количества демо-запусков на переменные купленности игры. Так как эта функция находится в несжатой области кода, проблем с её модификацией не возникнет.

Замена переменных в функции инициализации

Найти функции можно по отладочным строкам, содержащим характерное имя файла:

Функция вывода номера строки файла src/gameloft_billing.c

Отключаем Funbox

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

Как и в случае с играми, в функциях Funbox присутствует отладочный вывод номеров строк с именем файла «src/gmb_smart_sms_win.c». С этих строк можно «дошагать» до функции-обработчика выделения элемента главного меню (в CoolMMI они называются hilite, очевидно имеется в виду highlight), в котором и находится иконка.
Методом проб и ошибок удалось обнаружить обработчик входа в интерфейс подписок, который был благополучно за’nop’лен — нажатие на иконку Funbox центральной кнопкой или левой софт-клавишей более ни к чему не приводят.

Функция расположена в несжатой области и легко поддаётся изменению.

Исправляем громкость

Компонент аудиоусилителя телефона имеет 15 ступеней усиления, но для мультимедии прошивка телефона предусматривает всего 7 уровней громкости, с большими шагами между ними. Это неудобно: на «единице» телефон еле слышно, а на «двойке» он сразу ОРЁТ.

Попробуем исправить эту проблему. В заголовочных файлах быстро находится регистр CONFIG_REGS по базовому адресу 0x01A24000, структура которого описывается следующим образом:

#define REG_CONFIG_REGS_BASE 0x01A24000 #define hwp_configRegs ((HWP_CFG_REGS_T*) KSEG1(REG_CONFIG_REGS_BASE)) typedef volatile struct < REG32 CHIP_ID; //0x00000000 /// This register contain the synthesis date and version REG32 Build_Version; //0x00000004 /// Setting bit n to '1' selects GPIO Usage for PAD connected to GPIOn. Setting /// bit n to '0' selects Alt. REG32 GPIO_Mode; //0x00000008 REG32 Alt_mux_select; //0x0000000C REG32 IO_Drive1_Select; //0x00000010 REG32 IO_Drive2_Select; //0x00000014 REG32 audio_pd_set; //0x00000018 REG32 audio_pd_clr; //0x0000001C REG32 audio_sel_cfg; //0x00000020 REG32 audio_mic_cfg; //0x00000024 REG32 audio_spk_cfg; //0x00000028 REG32 audio_rcv_gain; //0x0000002C REG32 audio_head_gain; //0x00000030 >HWP_CFG_REGS_T; //audio_spk_cfg #define CFG_REGS_AU_SPK_GAIN(n) (((n)&15)<<0) #define CFG_REGS_AU_SPK_MUTE_N (1<<4)

Использование регистра происходит через сегмент KSEG1, в обход MMU и кешей. Полный адрес audio_spk_cfg, обращения к которому нужно искать в дисассемблере — 0xA1A24028.

После непродолжительного поиска обнаруживается функция, преобразующая уровень усиления (по всей видимости, в децибелах) в значение SPK_GAIN:

int __fastcall volume_maps(int a1) // 0x88038184 < int result; // $v0 result = 0; if ( a1 >= 5 ) < result = 2; if ( a1 >= 14 ) < result = 4; if ( a1 >= 18 ) < result = 6; if ( a1 >= 20 ) < result = 8; if ( a1 >= 22 ) < result = 10; if ( a1 != 22 ) < result = 12; if ( a1 != 23 ) return 14; >> > > > > return result; >

Изменив уровни с [0, 2, 4, 6, 8, 10, 12, 14] на [0, 1, 2, 3, 5, 6, 8, 10], мы получили более плавную регулировку ценой уменьшения максимальной громкости, которая всё равно только приводила к перегрузу маломощного динамика телефона.

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

Неожиданные трудности

Для MIPS существует два стандарта 16-битных инструкций: MIPS16e и microMIPS. Первый является дополнением (extension) к архитектуре MIPS32: код может использовать одновременно оба набора инструкций, процессор может переключаться между режимом выполнения MIPS32 и MIPS16e в любое время, прыжком на нечётный адрес инструкции. Не все инструкции и возможности MIPS можно выразить командами MIPS16e — иногда переключение в режим MIPS32 просто необходимо.
microMIPS же — полноценная архитектура с полным набором 16-битных команд. Вот что говорит официальная брошюра:

The benchmarks prove that the microMIPS architecture delivers similar memory savings as the MIPS16e ASE, but with much better performance. The question is how? The list of reasons includes new optimized 16- and 32-bit instructions, an optimized recoding of MIPS32 instructions, and optimized op code format and register utilization.

The earlier stated fact that microMIPS is a complete architecture – not an extension − is also key. Both MIPS16e, and for that matter the similarly-targeted ARM Thumb technologies, are extensions. Both microMIPS and these extensions rely on the concept of new 16-bit versions of regularly used instructions to minimize code size. And all deliver reductions in code size. But only microMIPS delivers 32-bit performance.

The microMIPS mode can handle all operations such as exception handling, and offers a superset of the MIPS32 ISA. With MIPS16e, the programmer had to swap modes to use ASEs such as MIPS DSP. The microMIPS mode can seamlessly access the ASEs. The need to run legacy binary code is really the only reason that would prompt a programmer to use the MIPS32 mode.

Проблема в том, что привычные утилиты инлайн-ассемблирования кода для патча программы, такие как rasm2 из состава Radare2 и kstool из KeyStone, не поддерживают режим MIPS16e. Они либо ассемблируют 32-битные команды, несмотря на то, что выбран 16-битный режим, либо выводят опкоды, явно не соответствующие MIPS16e.

К счастью, ассемблер gcc поддерживает режим MIPS16e, а работать с ним почти так же удобно, как с rasm2/kstool. Есть, разве что, одна особенность: он выравнивает блок nop'ами.

$ echo 'jr $ra' | mips64-linux-gnu-as -o /dev/null -al -mips16 -32 GAS LISTING page 1 1 0000 E8206500 jr $ra 1 65006500 1 65006500 1 65006500

Вывод

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

Как прошить телефон Nokia самому - советы

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

Подготовка к прошивке

Как прошить телефон Nokia самому - советы

Обновление программного обеспечения можно произвести при помощи специальных программ.

Рассмотрим основной алгоритм действий на примере телефона фирмы Nokia. Для таких телефонов существует программа Nokia Software Updater.

Плюсы этого способа очевидны – обновление до более новой версии происходит автоматически за очень короткое время.

Вам потребуется следующее: телефон, компьютер или ноутбук с выходом в интернет, usb-кабель и пакет Nokia PC Suite (обычно поставляется на диске при покупке телефона, но вы также можете скачать его самостоятельно).

Пошаговая инструкция

  1. для начала рекомендуется вставить неактивную сим-карту, чтобы не произошло случайного сбоя при звонке или смс;
  2. с сим-карты нужно убрать запрос PIN-кода;
  3. определить версию прошивки на вашем телефоне (на телефонах Nokia нужно набрать *#0000#);
  4. если у вашего телефона есть обновление, то программа автоматически его начнет;
  5. если у вашего телефона нет новой версии, то вам нужно сделать это самостоятельно путем введения вашей версии прошивки в программу;
  6. скачиваете программу в файле.exe;
  7. запускаете файл и сохраняете его в пустую папку;
  8. файлы, находящиеся в папках rm-110 и Products (цифры могут быть другими), сохраняете по адресу (если нет таких папок, то нужно их создать):

  • для Windows ХР - Documents and Settings\All Users\Application Data\Nokia\Nokia Service Layer\A\nsl_service_module_00001\vpls\www.dsut.online.nokia.com.oti.caresuite\Products\rm-110\
  • для Vista или Windows 7 - ProgramData\Nokia\Nokia Service Layer\A\nsl_service_module_00001\vpls\www.dsut.online.nokia.com.oti.caresuite\Products\rm-110\

Сергей Семенов, 31 год Аналитик, журналист, редактор

Настоящий мобильный эксперт! Пишет простым и понятным языком полезные статьи и инструкции мобильной тематики, раздает направо и налево наиполезнейшие советы. Следит за разделом «Статьи и Лайфхаки».

Мобильный телефон Nokia 215 4G DS, Black

Мобильный телефон Nokia 215 4G DS, Black

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

  • Размер экрана, дюйм: 2.4
  • Разрешение экрана: 320 x 240
  • Объем оперативной памяти: 64 Мб
  • Объем встроенной памяти: 128 МБ
  • Модель процессора: T117
  • Беспроводные интерфейсы: Bluetooth
  • Емкость аккумулятора: 1150 мАч

Технические характеристики

UID товара TA-1272 DS/BLACK
Производитель Nokia
Модель 215 DS (TA-1272)
Размер экрана, дюйм 2.4
Разрешение экрана 320 x 240
Объем оперативной памяти 64 Мб
Объем встроенной памяти 128 МБ

Внимание Доступный пользователю объем встроенной памяти меньше, так как часть занимает программное обеспечение устройства

Поддержка карт памяти, до, ГБ 32
Поддерживаемые типы карт памяти microSD, microSDHC
Процессор Unisoc (Spreadtrum)
Модель процессора T117
Наличие камеры отсутствует
Количество SIM-карт 2
Тип SIM-карты NanoSIM
Мобильный интернет 3G, 4G
Поддерживаемые частоты 2G: 850/900/1800 3G: 850/900/2100
Поддерживаемые частоты 4G, МГц 800, 850, 900, 1800, 2100, 2300, 2600
Беспроводные интерфейсы Bluetooth
Версия Bluetooth 5.0
Тип аккумулятора Съемный
Емкость аккумулятора 1150 мАч
Время работы в режиме разговора 6 ч
Время работы в режиме ожидания 288 ч
Разъемы micro-USB, miniJack 3.5
Операционная система S30+
Цвет, используемый в оформлении Черный
Функции Фонарь / Игры / Словарь английского языка / Интернет
Дополнительно FM радио
MP3 плеер
Тип дисплея QVGA
Размеры (Ш х В х Г) 5 х 1.4 х 12.4 см
Размеры упаковки (Ш х В х Г) 12 х 12.5 х 3.2 см
Вес 0.09 кг
Вес с упаковкой 0.2 кг
Срок гарантии (мес.) 12
Ссылка на сайт производителя www.nokia.com

Если вы заметили ошибку или неточность в описании товара, пожалуйста, выделите текст с ошибкой и нажмите Ctrl+Enter.

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

Описание

Nokia 215 — знакомый телефон стал еще лучше. Благодаря подключению к сети 4G доступна передача голоса высокой четкости и многопользовательские игры. Фирменное качество Nokia и бесконечный заряд батареи — ваш телефон прослужит долго. Хотите отдохнуть?

Общайтесь в Facebook, играйте в "Змейку" и пробные версии других игр. Предусмотрено все, что нужно для комфортного использования: крупные кнопки с мягким покрытием Soft Touch и удобный нескользкий корпус с закругленными краями.

Быстрый интернет 4G
Пользуйтесь интернетом, играйте вместе с друзьями и общайтесь в соцсетях благодаря подключению к сети 4G.

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

Развлечения
Нужна передышка? Сыграйте в "Змейку" или послушайте встроенное FM-радио.

Корпус
Nokia 215 4G — телефон в удобном нескользком корпусе с закругленными краями.

Добавить комментарий

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