Перейти к содержанию
Old Phone Forum

f2065

Администраторы ROOT
  • Постов

    7 201
  • Зарегистрирован

  • Посещение

  • Победитель дней

    110

Сообщения, опубликованные f2065

  1. 19 минут назад, Abakey сказал:

    Набираю *#06# Он показывае все нули. Я думал iemi затёр оказалось работае.

    Эти модели работают и с нулевым IMEI…

    19 минут назад, Abakey сказал:

    можете помочь чтобы такой фегни небыло.

    Бесплатных решений по записи (восстановлению) IMEI нету.

    • Like 1
  2. 54 минуты назад, bugbug сказал:

    как найти адрес компенсированного перехода в Binedit.

    Ну это как правило переход через ARM. Надо выключить «Подменять дальние переходы через BLX», и смотреть куда он там сначала переходит.

    Далее обычным образом искать точки перехода туда, и точки использования данных с финальным адресом (с поправкой на thumb-режим если он есть).

    Например BLX _off_21B608F8 ; (компенсирован) Переход по адресу 0x21B608F8 с сохранением адреса возврата

    На самом деле это BLX off_211B0590 ; Переход по адресу 0x211B0590 с сохранением адреса возврата
    А там в ARM-режиме переход off_211B0590:
    211B0590: LDR PC=#0x21B608F8 ; Загрузить в PC из адреса 0x211B0594 (0x21B608F8)
    211B0594: DCD 0x21B608F8

    Автоопределение режима декомпиляции может глючить с ARM, там надо его выключить, вручную указать ARM и обновить экран.

  3. 29 минут назад, bugbug сказал:

    Файл С3322XWKL1.sym шел вместе с прошивкой?

    Фактически да. С прошивкой шёл x/elf, sym и dwarf извлекаются из elf. Ещё из dwarf извлекается краткое описание функций - https://oldph.one/index.php?showtopic=17767&p=612891

     

    32 минуты назад, bugbug сказал:

    Функция music8_SetNoActionTimeFlag уже была в sym или Вы ее туда добавили? Сравнивал файл С3322XWKL1.sym c D880JPHH1_Master_original.sym и не нашел похожей функции.

    Ну платформа постепенно изменяется, в каждой новой модели часть функций не совпадает. Ещё бывает у функций меняется кол-во и состав аргументов. Плеер на C3322 вообще существенно отличается от D780/D880/B5722.

  4. Идентичных кодов может быть много…

    Надо сравнивать вызываемые оттуда функции. Имена подключить, для C3322XWKL1 ведь есть полный sym/bsig-файл - BinEdit будет все имена функций писать.

    Далее, для J210 выявлять вручную имена функций. Например, в случае адресов запуска MCC - часто есть трассировка с названием функции. Например 

    20E28D50:    8648    LDR    R0, =0x206519BC
    20E28D52:    B1E7    B    loc_20E28CB8

    206519BC  9F 25 0000 0000 0000 FC196520 0000 0000  MCC_MULTI_TRACKING
    206519CC  17 23 2000 0000 0000 00000000 0000 0000  Выполнить 0x23 x2=32 x3=0 x4=0 x5=0 x6=0
    206519DC  18 0A 0D00 0100 0100 24992820 0000 0000  Если x1=10 x2=13 x3=1 то переход на 0x20289924
    206519EC  1C 00 0000 0000 0000 D4D7A620 0000 0000  Переход на адрес 0x20A6D7D4

    206519FC mcc_mplib_T_play_on_quiet_Q

    Значит, 206519BC = mcc_mplib_T_play_on_quiet_Q, можно на вкладке символов в BinEdit это добавить и он будет потом в листинге сразу писать имя 205FFAF8

  5. 23.08.2019 в 21:24, bugbug сказал:

    Для плеера, не свернутого в фон, user_key известны, а вот для фона непонятно как их определить.

    А в фоне - плеер интегрирован в глобальный обработчик IDLE-событий десктопа. Там нет MCC-скриптов, там огромный thumb-код со множеством многоуровневых переходов.

    Автозакрытие на паузе я там удалял, но на более новой платформе. Надо найти места установки таймера бездействия плеера, это где-то в thumb-коде. Надо пробовать с C3322 перетащить патч, но там отличий очень много, напрямую на J210 не получится, надо брать схожую старую модель с sym-файлами (например D880JPHH1) и делать сначала там (сравнивая по sym C3322XWKL1).

  6. 17.08.2019 в 14:13, bugbug сказал:

    А как вообще определить свободную память с помощью CGSN (что должны показывать значения регисторов, если память свободна)?

    В системе есть много фиксированных блоков памяти разного размера, можно командой RtkGetMemory их получать (и потом не забыть командой RtkReleaseMemory их освободить).

    Причём кол-во блоков тех или иных размеров предусмотрено по оценке разработчиков и бывает что при запросе например 500 байт - памяти нет, а при запросе 1000 байт память есть.

    В инженерном меню есть монитор памяти, там блоки показаны. Memory Pool.

    Ещё есть функция Rtk50_11GetDynMemory для запроса больших кусков памяти, она медленнее.

    Если памяти надо в пределах 1кб - то обычно целесообразнее брать её в текущем стеке (смещать указатель стека вниз, потом перед выходом поднимать обратно).


    sub sp, sp, 0x80
    ; тут с адреса SP получается 0x80 байт памяти
    add sp, sp, 0x80 ; когда работа с памятью закончена - надо восстановить стек
     

     

    17.08.2019 в 14:13, bugbug сказал:

    В asm (например FileTypes Register, Caller`s Name in SMS) может быть указана .equ FreeRAM.

    Это пример как делать не следует. Там просто автор полагает что верхняя граница физического ОЗУ не используется. Но, она может использоваться например разными кешами и т.п. Во втором патче вообще надо всего 81 байт - это надо брать в стеке (перечитав соответственно остальные адреса - там есть обращение к старому [sp] - его надо тоже сместить).

    Глобально память ОЗУ можно брать в каких-нибудь неиспользуемых в данный момент статических путях файлов (например для многих патчей можно брать буфер имени файла видеокамеры).

  7. теперь проблема как с bmp иконками фотографий из папки thumbails которые весят одинаково 3120 байт и не открываются ни в одном редакторе.

    Надо несколько примеров… Может это не bmp, может редакторы неправильные (у самсунгов вообще bmp непростого формата, он соответствует спецификациям bmp, но далеко не все редакторы поддерживают полный набор bmp-форматов), может это raw без заголовка…
  8. Неужели подсветка уменьшает производительность в 2,5 раза?

    Подозреваю что дело не в подсветке, а просто после выключения подсветки система перестаёт перерисовывать экран, и это высвобождает процессорное время для других задач.
  9. ток при этом вырастает до 4.2V(100%) и при разрядке за день падает до 3.7V(0%)

    Ноль кстати около 3.3V должен быть, 3.7 - среднее напряжение аккумулятора.

     

    Ещё подозреваю зарядное устройство. Не раз встречал "умные" зарядники у Самсунг.

    У части самсунгов того времени секрет в зарядных входах, их в широком разъёме два. Один от фирменной зарядки, другой от USB-кабеля. Если подать питание на вход USB - то зарядка там останавливается если не обнаружены драйвера. Может зарядное устройство не родное, с неправильной распиновкой, и тогда тоже может быть такая проблема.

     

    Интересно, а в выключенном состоянии если заряжать - разница есть?

    Если встроенный монитор зарядки вывести (коды *#0228# ) - что там с напряжениями?

     

    Может кто знает какое должно быть сопротивление между "+" и "средним" контактом и между "-" и "средним"?

    Посмотрел на AB474350… «-» и средний - 4.745кОм в обеих полярностях. «+» и средний - там активное напряжение - плавающее отрицательное сопротивление. Напряжение если между «+» и «-» 4.148, то между «+» и средний 4.147
    • Like 1
  10. Телефон  пролежал 7 лет на полке.

    Телефону при этом более 10 лет… Модель 2007г. Кто сейчас будет для него производить аккумуляторы?

     

    Куплен новый АКБ.

    Вас обманули. АКБ тоже пролежал много лет, на складе у продавца.

     

    Заряжаться начинает только после передёргивания батареи. Через несколько минут зарядка пропадает.

    Потому что умный контроллер заряда понимает что у АКБ какая-то аномалия с зарядным током. Старые АКБ часто себя так ведут - сразу практически заряжаются, но ожидаемой ёмкости по факту нет, сразу и садятся в ноль.

    Посмотрите напряжения сразу после остановки заряда, если там более 4.0в - это именно такая причина и есть.

     

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

    Думаю единственное решение - это разбирать аккумулятор, смотреть габариты, и подпаивать туда бескорпусные литиевые элементы. На eBay бывают в ассортименте…

  11. 1. Как узнать рабочую частоту процессора?

    Поискать в даташитах про PNX5230, может там что-то есть… Или самому сделать цикл из простой команды и посчитать с секундомером.

     

    2. В tfs есть папка voice, где используются файлы из этой папки?

    Я не увидел в TFS такой папки с файлами…

    Вообще в TFS много всяких артефактов от старых или топовых моделей.

     

    Нашел "Обзор Samsung D900i", при создании сообщений есть пункт меню Voice Message. У J210 этого меню почему-то нет.

    На C3322/S5610 тоже нет…

    Вроде раньше у самсунгов был какой-то свой сервис голосовых сообщений, вероятно это оно. Плюс надо учесть что обзор тот писал Муртазин, а он умеет наврать очень много - взяв часть скриншотов от других моделей и просто сочиняя характеристики без проверки (да и телефон у него в обзоре был с нерусской локализацией). Про D780 и B5722 например у него десяток абзацев полнейшего вранья.

     

    .equ MP 0x22 базовый код мастерпатча .equ MPFunc - персональный код функций мастерпатча. А как определить этот экивалент для моего телефона?

    Ну базовый код задаётся автором мастерпатча, это просто номер свободной ячейки в штатных обработчиках MCC_TASK, MCC_IF и т.п. Там всегда есть несколько пустых ячеек, одна из них и задействуется для мастерпатча. Персональный код функции мастерпатча - это следующий уровень, выбирается автором патча посмотрев на остальные патчи (чтобы не было конфликтов с другими патчами, каждый патч на эту прошивку использующий мастерпатч - должен иметь свой уникальный код).

     

    Персональные коды занятые на C3322 например такие:

     

    C3322XXNA1 texts
    01-03 - Easy_ScreenShot_v22
    04-0F - ExtBlackList_v11
    10 - ?
    11-13 - TXT_Viewer
    14-15 - Anti-Thief part1
    16 - BackupDB
    17 - AutoConf
    18-19 - KeyUnlock
    1A-22 - Call Record
    23-3F - Anti-Thief part2
    40-46 - VibOnCall
    47-53 - Sheduler
    54 - VibOnCall
    54-55 - ?
    56-63 - MissingCallNotify
    64-65 - ?
    66-68 - KeypadBacklightControl_v2
    69-6C - MainMenuConfig part1
    6D-6F - ?
    70 - HomeScreenToolbar_Opera_v1
    71-83 - Talker_v07
    84-85 - ?
    86 - VolumeControl_in_RecMode_v1
    87-90 - SimChooser
    91-9A - ?
    9B - Filename_DateTime_v2
    9C - AutoKeylock part1
    9E-A4 - DesktopConfig_v2 part1
    A5-A6 - AutoKeylock part2
    A7-AA - MainMenuConfig part2
    AB-AF - Explorer_Bluetooth_GlobalAccess_v11
    B0-B3 - DesktopConfig_v2 part2
    B4-BF - ?
    B0-B3 - DesktopConfig_v2 part2
    C0-E4 - ExtraHotKeys2
    E5-FF - ?
    
    C3322XXNA1 MPCodes
     00 - LoadMEM
     01 - Battery 25pos
     02 - filename datetime
     03 - flashlight
     04 - java shadow
     05 - call_record
     06 - max_backlight
     07 - txt view
     08 - fast lang
     09 - anti thief
     0a - reject call
     0b - ext black list
     0c - Camera Plus
     0d - bluetooth hotkey
     0e - missing call notify
     0f - talker
     10 - vib on call
     11 - desktopconfig
     12 - Java Heap Config
     13 - SIM Chooser
     14 - key auto lock
     16 - Explorer Bluetooth Global Access
     17 - autoconference
     18 - Info4321
     19 - VolCtrl_RecMode
     1A - SimpleSearch
     1B - Any_Number_Call v2
     1D - KbdBacklight
     1E - DisableKeypadUnlockedPopup
     1F - FilterCallShowNotify
     20 - BackupDB
     21 - ExtraHotKeys2
     22 - FM-mono
     23 - InfoHWID
    
    C3322XXNA1 MemoryCFG/SettingsCFG
     +0x00 - Call Record
     +0x01...0x02 - ExtBlackList
     +0x03 - SortFiles_Mod
     +0x04 - HandsFreeTweak
     +0x05 - Fast_Switching_Language_Input
     +0x06...0x07 - VibOnCall (7 = time, 6 = mode (b0-b3 - mode1, b4-check1, b5-check2, b6-check3, b7-free))
     +0x08...0x0B - Java Heap Config
     +0x0C - SIM Chooser
     +0x0D - CallRec
     +0x0E - MainMenuConfig
     +0x0F - Explorer Bluetooth Global Access
     +0x10 - AutoConf
     +0x11 - Backlight keyboard
     +0x12 - MissingCallNotify font size
     +0x15 - Filename_DateTime_v2
     +0x20...0x23 - TimerSave
     +0x24...0x27 - TXT View
     +0x70...0x8F - DesktopConfig
     +0x90...0x9F - Talker 
     +0xA0...0xA8 - Missing Call Notify 
     +0xC0...0xDF - ExtraHotkeys
    
  12. При установке gif анимации на главный экран она почему-то неполностью проигрывается

    На более новых так-же. Там ограничено кол-во кадров, и лимитированы межкадровые интервалы.

    Думаю что для экономии ОЗУ у них просто неполноценный плеер GIF для обоев.

  13. то есть, если кликнуть по его окну после кнопки "старт", то оно "выцветает" и надпись появляется "не отвечает".

    Ну потому что программы PNX Downloader - узкоспециализированные и глючные, рассчитаны только на работу в СЦ с официальным оборудованием. Там нет обработок ошибок нормально. Они себя так ведут в процессе ожидания данных от телефона…

     

    вместо него ардуино в режиме ком порта и припаяные к плате выводы

    Помнится даже не все USB-UART работали, из-за того что у софта кривое ожидание таймингов каких-то…

     

    версию прошивки не знаю.

    Набрать *#1234#…

     

    хочу закинуть мелодии в него

    Не очень понял как вы это собираетесь сделать… Перепаковкой TFS-файла с подменой его *.mid файлов?
  14. Жаль что программы "профессионального" восстановления фотографий не справляются

    Ну это слишком узкоспециализированная задача, под каждую серию мобил делать восстановление файлов из дампа… У одних только кнопочных самсунгов 2005-2010гг форматов дампов штук 20…

    Общедоступные программы профессионального восстановления работают с массовыми HDD.

    А для случаев дампа мобилы - вот HEX-редакторы и существуют…

     

    Кстати блоки FF наверняка не рандомно лежат, а через какие-то равные интервалы. Если это вырезать всё, то вероятно соберётся нормальная FAT, которую можно рассматривать в RunTime's DiskExporer… И вероятно что там не по 16 байт FF, точнее там должны быть заголовки кластеров в которых могут быть контрольные суммы или размеры. Т.е. вероятно вырезать надо не 16 байт, а немного больше… По крайней мере в форматах образов дисков более новых Swift - именно так…

  15. по какой причине зависает pnx downloader после нажатия кнопки старт?

    Он скорее всего не зависает, а ждёт реакции от телефона.

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

    Зачем его прошивать? Какая прошивка установлена сейчас в телефоне?

  16. А символ рубля U+20BD есть в С3322?

    На C3322i нету, на C3322 наверно тем более. При получении в смске выводит пустой квадратик.

     

    А можно ли заменить ненужный символ на желаемый?

    Для отображения - надо фонт просто заменить.

    Для набора - были например патчи по добавлению украинских букв, см. по аналогии как редактируются таблицы клавиатуры (причём в системе и в яве они разные).

  17. На что он влияет и

    В телефоне - ни на что, телефон эту ссылку показывает в WAP-сессии серверу, сервер может пойти по этой ссылке и посмотреть функциональные возможности телефона. Чтобы например не предлагать телефону те игрушки которые он не может скачать. Впрочем насколько я знаю это не практикуется. Сервера если и делают выбор вариантов то по известным моделям телефонов которые в useragent представляются.

     

    можно ли сделать новое значение постоянным?

    Патчем при включении подменять. Или найти где это лежит в nv-конфигах (это файл в системной файловой системе телефона, не в самой прошивке) и подменить там.
  18. Начал прошивать флэшером вылезла синька (7 винда)

    А драйвер то новый? Помнится в BSOD старые драйвера в win7 падали. Но в финальной версии проблем нет - драйвер работает в любой винде, и в 7 и даже в 10.

    Драйвер - http://oldph.one/index.php?showtopic=34147&p=633920

     

    Решил поставить xp на виртуал бокс, там синька не вылетает, но и прошивка стопорится на надписи main loader has been started.

    Я успешно разное железо прошивал через VMware Workstation... Секрет в том что виртуалка должна пробрасывать новый порт сразу моментально при подключении. Телефон же в прошивочном режиме держится всего 1-2 секунды.
  19. Как написать символ "*"(звездочка) в SMS или java?

    Так на 4 экране на цифре 7 - *.

     

    Можно ли еще добавить шестую группу символов  в свободное место?

    Наверно. У более новых (например C3322) там вообще около 10 экранов значков всяких.
  20. на 94% оборвался,получился фаил 31мб),хотя скорость порта стоит 230400

    А у этого телефона вообще наверно стандартная скорость 115200… Помнится даже более новые D880 глючили со сливанием дампа на высоких скоростях.

    Надо бы ещё раз попробовать, на 230к - посмотреть в одном и том же месте обрыв или нет, и на 115к…

     

    Вернее сказать фрагментированны.

    Ну так обычная работа файловой системы. Надо выковыривать из дампа FAT-партицию (сама партиция не фрагментирована), и её открывать в Runеime's DiskExplorer.

    Причём, на соседних моделях помнится немного нестандартная FAT - после Root-директории лежит один лишний сектор заполненный FF, надо его удалить (сдвинуть дамп). И тогда DiskExplorer (и прочий аналогичный софт) начнёт нормально работать с образом этой партиции.

     

    ; http://averstak.tripod.com/fatdox/bootsec.htm
    
    ; SectorsPerFAT * NumberOfFATs + ReservedSectors + (RootEntries / 16)
    ; тут не совсем стандартная FAT16
    ; после Root-директории лежит один лишний сектор заполненный FF, надо его удалить.
    
    	movzx	eax, word [esi+0x16] ; SectorsPerFAT
    	movzx	ebx, byte [esi+0x10] ; NumberOfFATs
    	mul	ebx
    	movzx	ebx, word [esi+0x0E] ; ReservedSectors
    	add	eax, ebx
    	movzx	ebx, word [esi+0x11] ; RootEntries
    	shr	ebx, 4 ; деление на 16 (16 это кол-во dir-записей на сектор)
    	add	eax, ebx
    	movzx	ebx, word [esi+0x0B] ; BytesPerSector
    	mul	ebx
    	mov	ebx, eax ; нашли начало лишнего сектора
    
  21. не открываются .jpg файлы в телефоне размером несколько мегабайт

    А зачем телефону такие файлы? В принципе, открытие огромных файлов - это была отдельная фича в топовых моделях (PixelView у D880, D980 и прочих).
×
×
  • Создать...