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

f2065

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

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

  • Посещение

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

    110

Весь контент f2065

  1. Портировал на D780 патч «Быстрое переключение языка ввода». Однако, там переключение то далеко не везде получается сделать. Только там где есть поля MCC_EDIT. Конечно, основные поля - именно на MCC_EDIT. Но, тем не менее из меню почти 75% доступных полей (везде, где на экране несколько полей и курсор вверх/вниз между ними перескакивает) - вовсе не MCC_EDIT. Например, редактирование закладки браузера - так вот выглядит: 202C31B4: 5D000000000000000000000000000000 MCC_INIT_RESTORE 202C31C4: 8E000000000000000000000000000000 MCC_SET_CURFOCUS 202C31D4: 80000100000100000000000030000000 MCC_FOCUS_START 0 0x1 0x100 0 0 0x30 202C31E4: 7D0E1400020003000000000000000000 MCC_MENU_CONFIG 0xE 0x14 0x2 0x3 202C31F4: 7C013700173705000000000000000000 MCC_MENU_EVENT 0x1 0x37 0x3717 0x5 202C3204: 810E140000000202803CBE2000000000 MCC_DISPLAY_FOCUS 0xE 0x14 0 0x202 loc_20BE3C80 202C3214: 900100000202DB01403DBE206D060000 MCC_FOCUS_CHANGE 0x1 0 0x202 0x1DB loc_20BE3D40 0x66D 202C3224: 180801000F000000604EBE2000000000 MCC_IF 0x8 0x1 0xF 0 loc_20BE4E60 202C3234: 1908010002000000604EBE2000000000 MCC_ELSEIF 0x8 0x1 0x2 0 loc_20BE4E60 202C3244: 1908010001000000604EBE2000000000 MCC_ELSEIF 0x8 0x1 0x1 0 loc_20BE4E60 202C3254: 39000000000000000000000000000000 MCC_EXIT Вопрос. Кто-нибудь эту проблему решал ? Может на каких-то мобилах есть новая версия патча, где есть обработчик и таких вот полей ? Очевидно, надо обработчик MCC_DISPLAY_FOCUS изучать, и врезать в него тоже переключение языка ?
  2. У меня не пропадает… Проверь на непатченной прошивке как. Вероятно, это не из-за патчей, а из-за каких-то настроек. А не проще самому на чистую прошивку поставить конкретно те патчи которые нужны ? Не понял. Я папками добавляю…плеер - опции - добавить музыку… входишь в папку которую надо добавить, и ставишь курсор на заголовок «Все», жмёшь OK, и он выделяет все файлы папки, затем добавить. Телепатов тут вроде нет. Выкладывай оба файла в арихве куданибудь на slil.ru/ifolder.ru/rapidshare.com.
  3. А ты сам его не включил ранее ? По идее, блокировку можно включить только с конкретном симкой на которую она привязывается. Т.е. если бы блокировка была включена не тобой - то соответственно на другую (чужую) симку. И ты бы свои симки вообще не смог бы использовать. При включении блокировки - запрашивается пароль. И этот пароль потом и нужен для отмены SIM-блокировки. Он не совпадает с паролем безопасности (на саму мобилу и менюшки).
  4. Чушь. Нету там дефолтного кода!!! Пароль спрашивается при первом использовании функции. Либо ты сам его на первый раз и ввёл (не внимательно читая что просят - мобила просит не ввести пароль, а ввести новый пароль, которого ещё нету), либо кто-то мобилу уже раньше использовал и ввёл код 12345.
  5. Так проблема в том, что у меня явно нужен переход с подменой. А BinEdit почему-то в ряде случаев этого не хочет понимать! Вот ещё пример: ; for D780XEHE1 .equ LoadCFG 0x208476AC .equ TestAdr 0x21791138 .start 0x214E17A8 mov R0, #0x0 BLX TestAdr+1 mov R1, #0x1 BLX LoadCFG+1 mov r2, #0x2 .data .orgbl Получаю: 214E17A8: 0020 MOV R0, #0x0 214E17AA: AFF2C8EC BLX off_2179113C; ошибка!!! 214E17AE: 0121 MOV R1, #0x1 214E17B0: 00F002E8 BLX off_214E17B8; а тут - нормально 214E17B4: 0222 MOV R2, #0x2 off_214E17B8: 214E17B8: 04F01FE5 LDR PC=#0x208476AD 214E17BC: AD768420 DCD 0x208476AD зы. кстати а почему иногда он делает конструкцию push {r0-r1} ldr r0,=function+1 str r0,[sp,#4] pop {r0,pc} а иногда просто переход с переключением в ARM и там просто LDR PC=function+1 ? Upd: проблема решена, может ещё кому пригодится: Вобщем надо просто все «BLX» писать с подчёркиванием - «BLX_», как сказано в справке это принудительно включает подмену. Я так сделал - теперь всё корректно, во всех случаях генерируется правильный переход. А автоматически видимо BinEdit иногда не понимает что надо сделать подмену. Кстати почему на справку ни на сайте BinEdit ссылок нет, ни из самого BinEdit она не вызывается. Нашёл тут на формуе…
  6. http://OldPh.one/index.php?showtopic=38797?p=...mp;#entry377266 У всех самсунгов так. Однако, есть патч который переключается язык нажатием кнопки фото. Правда, для 880 его никто не портировал. Я вчера как раз на 780 его портировал, может кто и на 880 портирует оттуда. У обоих дуосов батарей весьма слабая Имей на везде (ну там на даче, на работе) резервные зарядки… Ну это тоже патчами давно решаемо. Во-первый есть патч на автовключение BT при передаче, во-вторых есть карта прошивки где можно адрес меню включения повесить на какую-нибудь кнопку. На 780 - ТXT очень неплохо читает, и скроллинг плавный (есть в настройках)…
  7. Портировал тут большой патч… Не работает. Стал изучать - оказалось BinEdit какие-то кривые адреса компилирует. Вот отдельный пример проблемы - простейший исходник, на котором проблема воспроизводится: .start 0x214E17A8 BLX 0x2135CE2D .data (прошивка - D780XEHE1) И вот что получилось: 214E17A8: 7BF642EB BLX off_2135CE30 Не понимаю вообще. Как мне сделать BLX на 0x2135CE2D (0x2135CE2C+1) ??? зы. причём в одном и том-же листинге местами BinEdit выносит BLX в конец и там делает сложную но корректную процедуру перехода… А местами - вот вышеописанную фигню.
  8. Номера, где встречается набранная последовательность цифр. Например есть в записнухе номер +74951234567. Если ты начнёшь набирать 345 - то этот номер высветится. Это не глюк, а фича. Чтобы звук нажатий кнопок не мешал слушать радио (с диктофоном такая же фича). Вообще у меня звук кнопок нормально восстанавливается после выхода из радио (если оно в фоне - надо зайти в него и выключить совсем, чтобы в фоне не было). А не надо было левый софткей переназначать. Через него нормальный вход в меню и при работе радио.
  9. Дамп памяти - это вообще по определению последовательный дамп всех ячеек. Если флешер оперирует именно дампом - то быть такого не может. Ну как на программаторе если слить всю микросхему, а потом залить обратно. Мобила же этого даже не заметит. Следовательно, флешер не совсем дамп делает…
  10. Про ARM - я их не одной не читал вобщем-то Много лет назад - читал всевозможную литературу про Z80, 8031, написал массу всякого кода под них. x86 изучал, писал под винду софт и драйвера на асме. Ну а ARM - както уже нет надобности в книгах, в начале хватило яндекса просто понять соответствие и логику мнемоник. Например там базовые сведения про ARM есть - http://www.gaw.ru/html.cgi/txt/doc/micros/index.htm Далее при помощи IDA успешно разную мелочь патчил в WindowsMobile. Главное в целом уметь программировать на ассемблере. Понимать логику построений программ на асме, логику взаимодействия с железом. Замечу что не все патчи на самсунг связаны с ассемблером. У самсунгов есть ещё интерпретатор собственного специального языка высокого уровня - MCC. И где-то четверть патчей затрагивает только редактирование листинга MCC, не залезая в уровень асма. Например, патчи: выключение микрофона при разговоре, отключение вибры, переход между смс - это всё исключительно редактирование MCC. MCC в отличии от асма нигде не документировано и его можно изучать только при помощи нескольких описаний где-то тут на формуе и рассматривая в BinEdit как оно выглядит в тех или иных местах. Есть патч CGSN который позволяет в терминалке спрашивать (у мобилы) где сейчас стоит обработка MCC в мобиле, а далее можно по этому адресу в BinEdit пойти и посмотреть что в этом месте есть.
  11. Нажми и подержи #. Там появится таблица с 45 разными символами: . , - ! ? @ ~ _ перевод_строки \ / & " ' ; : ^ | ( ) [ ] { } = евро $ фунт параграф % йена * + # ?-перевёрнутый !-перевёрнутый жук цент « » ® © °
  12. Вопрос1: что делает короткое нажатие красной кнопки на рабочем столе (при незаблокированной клаве) ??? У меня мультисимки стоят, с виртуальными именами (вместо MTS_RUS). Так вот при нажатии красной кнопки - у второй симки на секунду вспыхивает реальное имя сети. Причём, я как раз копал прошивку в области обработки десктопных кнопок… И обнаружил что этот функционал висит именно на "обычной" красной кнопке. (у красной кнопки есть ещё и аппаратный функционал всякий). Если адрес обработки который вызывается красной кнопкой - повесить ещё на какую-нибудь кнопку - то вышеуказанный эффект (со второй симкой) будет и там (а штатного функционала красной кнопки - выключение, включение подсветки без подсказки о разблокировке - там не будет). Вопрос2: а почему в карту прошивки не стали включать вообще все кнопки ? Я всю эту подпрограмму изучил - можно же все 27 кнопок переназначить как угодно Там вполне очевидно где какая кнопка программируется… Или решили что только те кнопки которые есть смысл переназначать ? Кстати про короткое нажатие фото - забыли. Камера висит на долгом нажатии, а короткое - пусто. И ещё кнопку переключения сим можно бы переназначить ведь (т.к. её функционал есть в меню).
  13. А почему нельзя просто слить всю память как есть ??? Я не поверю что в мобиле воткнули 5 раздельных чипов памяти. Там же наверняка единый чип (на 128мб). И почему его нельзя просто целиком сливать/заливать ?
  14. Патч: Экономный режим в яркости дисплея / D780XEHE1 Портировал и это… Теперь в настройках яркости дисплея (Настройки - Подсветка - Яркость) можно поставить совсем низкую яркость. Впрочем, я не представляю зачем. Ночью может и полезно для экономии, но зато днём вообще ничего видно не будет. Разве что написать патч быстро переключающий яркость по хоткею Economnij_rezhim_v_jarkosti_displeya_D780XEHE1.rar
  15. Портировал… Я вообще не понимаю какое дело флешеру до формата дампа. Почему он заливает фирменный дамп, но не заливает самодельный дамп. Или, на самом деле это вовсе не дамп ? А подобие архива, откуда файлы поштутчно транслируются в мобилу и мобила сама их принимает и размещает ? Но как-же заливается фирменный дамп ??? Да визуальных отличий вроде и в соседних мобилах нету по мере выхода прошивок. Надо было глюки проверять, в частности видит ли PCSync "Напоминания", не разблокирован ли антивор. И вообще всякие опции тщательно облазить и сравнить.Реально думаю там стабильность повысили, в некоторых ситуациях вон народ жалуется что мобила ребутится. А ещё знаю глюк что временами на флешке не видны файлы (временно, лечится выходом из проводника и входом заново).
  16. Патч: Сравнение номеров по 7 цифрам / D780XEHE1 Сравнение номеров по 7 последним цифрам при определении абонента. Внимание, данный патч не нужен подавляющему большинству пользователей! Разницу между 8… и +7… мобила и так игнорирует. Портировано сюда по просьбе ikar2004. Патч нужен только для какой-то экзотичской ситуации когда юзер хочет чтобы номера в записной книжке хранились из 7 знаков (что абсольно не правильно, и будут проблемы в роуминге и вообще с синхронизацией записной книги). Sravnenie_nomerov_po_7_cifram_D780XEHE1.rar
  17. Я не понял, как можно случайно позвонить с другого оператора ??? Если у тебя дома возможно уйти в роуминг в альтернативного оператора (в москве - все оператора давно обменялись взаимными запретами роуминга и это невозможно) - то можно просто в настройках мобилы в меню настройки сеть выбор сети - указать ручной режим и явно задать оператора. Вообще идеологически правильно всегда звонить именно через +. Это гарантирует что ты позвонишь и в роуминге и где угодно.
  18. Я сравнивал содержимое файлов (по листингу), оно заметно различается Да и мало ли чего потом заглючит (там же половина функционала на БД завязана). Вобщем, для адекватного исслеования нововведений - надо шить полностью, CLA+TFS…
  19. [quote name=->teRorДля начала - изучать ассемблер ARM9. Далее головой обдумывать смысл кода по соседству с тем байтом который меняется патчем. Затем в новой прошивке искать схожий кусок кода (причём, регистры могут быть другими, например в одной прошивке R1, а в другой там будет R7 - потому искать проще байты по маске, первый байт каждой команды заменяя на ?? (хотя много мусора будет, и даже BinEdit будет вешаться регулярно) На примере D900i 210BC610: 8E48 LDR R0, =0x30783274;R0 = значение по адресу (PC + 568)=[0x210BC84C]= 0x30783274 210BC612: 0521 MOV R1, #0x5;R1 = 5 210BC614: 0902 LSL R1, R1, #8;R1 = R1 << 8 = 0x500 (1280) 210BC616: 4118 ADD R1, R0, R1;R1 = R0 + R1 = 0x30783774 (813184884) 210BC618: 4969 LDR R1, [R1, #0x14] 210BC61A: 7D22 MOV R2, #0x7D;R2 = 125 "}" - это автооптимизация кода 210BC61C: 1203 LSL R2, R2, #12;R2 = R2 << 12 = 500кб, а патч тут меняет кол-во сдвигов и получаем 8мб 210BC61E: 0124 MOV R4, #0x1 210BC620: 9142 CMP R1, R2 210BC622: 00D8 BHI loc_210BC626 210BC624: 0024 MOV R4, #0x0 D600EXEFA1. Для начала попробуем поискать 7D221203… Тут невероятно повезло, код проверки идентичный, и вот результат: 10182628: CA49 LDR R1, =0x185F5358 1018262A: 0122 MOV R2, #0x1 1018262C: 9202 LSL R2, R2, #10 1018262E: 8918 ADD R1, R1, R2 10182630: 0968 LDR R1, [R1] 10182632: 7D22 MOV R2, #0x7D;R2 = 125 "}" 10182634: 1203 LSL R2, R2, #12;R2 = R2 << 12 = 500кб 10182636: 9142 CMP R1, R2 10182638: 03D9 BLS loc_10182642 Однако в большинтсве патчей всё не так просто: надо искать масками (вроде ??22??03??42), или трассировать из каких-то контрольных точек (которые извезтны из трассировки по меню и т.д, или AT+CGSN), или смотреть какие адреса используются в процедуре, затем искать кто ещё использует этиже адреса и возможно аналогию тех других мест будет проще найти в новой прошивке, а далее искать обратно кто ещё эти новые адреса в новой прошивке использует. Ещё надо сравнивать что там со стеком, в одних прошивках могут одни регистры восстанавливатся а в других другие. Вобщем изучай ассемблер ARM9, без этого ты ничего не портируешь никуда. строчка в патч D600EXEFA1
  20. Это массовая дезинформация. Номера *99# и *99***1# - эквивалентны. 1 - это номер APN-профиля который ранее был задан в команде AT+CGDCONT=1. В случае написания *99# - обычно по умолчанию предпологается 1, но не всегда (можно так что-то настроить что по умолчанию укажется не единица). Вобщем для надёжности всегда следует писать *99***1# Кстати, есть ещё такая фича - написать AT+CGDCONT=2 и потом указывать 2 - *99***2# Это позволяет сразу настроить несколько разных точек APN в одной инит-строке, а потом используя разные номера набора - выбирать нужную APN не редактируя инитстроку.
  21. Ну я вот тоже жду В тфс правда у меня ничего кроме talker.mp3 нет. Однако перспектива заново прописывать email-клиентов, mms, букмарки, яву - меня не радует. Вот кстати в OpenSFD увидел функции сливания TFS и последующего заливания. Однако, в шапке этой темы пишут типа не пытайтесь сливать тфс т.к. обратно его залить нельзя. ??? А то можно было бы забекапить тфс, потом обратно залить.
  22. Не совсем, у них какая-то более хитрая логика. Например, МТС все номера присылает в виде «8916…», а в записной книжке у меня все «+7916…» - и однако имена подхватываются нормально. Очевидно, они сравнивают номера по последним 10 цифрам (а может вообще по 7 ? не проверял…).
  23. Это стандартная команда, которая пишется типа вместо номера.Пишется всегда и у всех только «*99***1#», прочие варианты - либо берут дефолт либо некорректны. А ещё надо в дополнительной строке инициализации вписать что-то, например для МТС вот: «AT+CGDCONT=1,"IP","internet.mts.ru"» Да кстати, интернет может работать исключительно через симку которая по умолчанию. Никак. Не думаю что тут патч реален, симки при смене дефолта физически перекоммутируются. Т.е. патч всё равно будет перезагружать мобилу и вообще это очень сложно (это направление абсолютно не изучено). Вообще как-то у тебя не разумно получается: если у тебя вторая симка исключительно для инета - так купи себе просто обычную (не дуос) мобилу. А вместа кпк - коммуникатор (т.е. кпк со встроенным GPRS).
  24. Листай там до keys - там перечислены адреса где лежит адрес который вызывает та или иная кнопка (чтобы там что-то переделать - напрмер добавить ещё кнопок или комбинаций - надо быть патчеписателем). values - там можно добавлять адреса функций. Название=адрес, потом через запятую следующее название=адрес.
  25. Внимаение, перед любыми экспериментами с кодами надо забекапить прошивку вместе с EEPROM! Ибо кодами можно повредить какие-либо настройки EEPROM. И не забывайте про Slave-платформу (я правда не знаю как там бекапить EEPROM). В прошивке D780XEHE1 две таблицы кодов. Первая небольшая: *#0*# - ? *#0206*327# - EEP *#0206*377# - Errors *#0206*523# - яркость подсветки *#0206*667# - debug mode *#0206*3768665# - Управление DRM *#0206*6366# - Memo Test *#0206*7837# - Иноформация про Slave-платформу (интересно!) *#0206*8376263# - Иноформация про Master-платформу *#0206*8378# - Test Mode ('инженерное меню', много всяких тестов) *#0228# - информация о батарее *#0283# - Loop Back Test Mode *#0289# - тест динамиков и наушников *#03# - UniqueNum *#06# - IMEI *#0673# - MP3 Test Mode *#0782# - часы *#0842# - тест вибры *#1111# - S/W Version *#1234# - Dev. Version *#2222# - H/W Version *#232337# - MAC-адрес Bluetooth *#28837# - версия софта и железа Bluetooth *#288378# - тесты Bluetooth *#36245# - тесты и информация о занятой памяти *#3672346# - ? *#377# - ? *#39758378# - Мои файлы *#4378378# - GFS Test *#464866# - Ресет (с очисткой записной книги и файлов!). *#4777*8665# - настройки GPRS *#52828378# - Java Test Menu *#56658378# - Look test, (и обнуление паролей!) *#622662# - какая-то информация о версиях чего-то (написано SIM, но не та SIM) *#6328378# - Тесты и админка базы данных (осторожно!!!) *#638738# - Profile Setting (выбор языкового профиля) *#64898378# - NITZ test mode *#688# - VOD Test *#7378378# - Resource Test *#738277# - Auto Profile Setting, переключает On/Off. *#7465625# - Всякие блокировки (на провайдера, на симку и т.д.) *#875108# - запуск радио *#898378# - Timezone тесты, история *#92782# - редактирование UserAgent и UA-профиля браузера *#95632798# - ? 1234567890*# -? **04* **042* **05* **052* ***32* ***33* ***34* ***35* ***36* - это стандартные GSM-команды, для смены PIN1/2 и т.д, см. справочники. Вобщем не актуальны (функционал есть в меню) Вторая таблица - огромная, порядка 200 всяких кодов. Однако, они практически все доступны из тех или иных меню первой таблицы. Я думая вторая таблица кодов для какого-то автоматизированнного применения или вообще для внутрипрограммного, инженерам она врядли нужна. *2767* - это всё различные ресеты, EEPROM и т.д. Лучше их не трогать. Информация о назначении - противоречивая (один авторы обещают полные ресет, однако его не происходит). *2767*3855# - ? *2767*2878# - ? *2767*927# - ? *2767*6277# - ? *2767*782# - ? *2767*63342# - ? *2767*667# - ? *2767*2666# - ? *2767*8451# - ?#*1300# - Master IMEI #*1400# - Master IMSI Полный список второй таблицы: #*0000# - ? #*0400# - ? #*1200# - ? #*1300# - ? #*1400# - ? #*1700# - ? #*1800# - ? #*1900# - ? #*2000# - ? #*2100# - ? #*2200# - ? #*2252# - ? #*2255# - ? #*2256# - ? #*2263# - ? #*2282# - ? #*2285# - ? #*2286# - ? #*2337# - ? #*2355# - ? #*2400# - ? #*2474# - ? #*2527# - ? #*2558# - ? #*2562# - ? #*2565# - ? #*2677# - ? #*2679# - ? #*2787# - ? #*2834# - ? #*2836# - ? #*2886# - ? #*3230# - ? #*3231# - ? #*3232# - ? #*3270# - ? #*3282# - ? #*3333# - ? #*3353# - ? #*3370# - ? #*3377# - ? #*3476# - ? #*3676# - ? #*3683# - ? #*3737# - ? #*3777# - ? #*3779# - ? #*3797# - ? #*3825# - ? #*3837# - ? #*3849# - ? #*3851# - ? #*3876# - ? #*3877# - ? #*3900# - ? #*3940# - ? #*3941# - ? #*4200# - ? #*4263# - ? #*4300# - ? #*4500# - ? #*4674# - ? #*4700# - ? #*4760# - ? #*4864# - ? #*5100# - ? #*5111# - ? #*5132# - ? #*5133# - ? #*5143# - ? #*5156# - ? #*5165# - ? #*5171# - ? #*5172# - ? #*5173# - ? #*5174# - ? #*5175# - ? #*5176# - ? #*5177# - ? #*5187# - ? #*5376# - ? #*5400# - ? #*5500# - ? #*5600# - ? #*5800# - ? #*6100# - ? #*6200# - ? #*6700# - ? #*6837# - ? #*6900# - ? #*7200# - ? #*7222# - ? #*7224# - ? #*7247# - ? #*7252# - ? #*7271# - ? #*7274# - ? #*7276# - ? #*7284# - ? #*7287# - ? #*7288# - ? #*7326# - ? #*7337# - ? #*7352# - ? #*7462# - ? #*74691# - ? #*74693# - ? #*74694# - ? #*74695# - ? #*7524# - ? #*7562# - ? #*7626# - ? #*7629# - ? #*7632# - ? #*7633# - ? #*7638# - ? #*7646# - ? #*7665# - ? #*7666# - ? #*7673# - ? #*7676# - ? #*7683# - ? #*7693# - ? #*7728# - ? #*7762# - ? #*7825# - ? #*7828# - ? #*7957# - ? #*7983# - ? #*7986# - ? #*8462# - ? #*8465# - ? #*8466# - ? #*8624# - ? #*9278# - ? #*9795# - ? #26332# - ? #7263867# - ? #7465625*228# - ? #7465625*27*# - ? #7465625*2827# - ? #7465625*28638# - ? #7465625*28746# - ? #7465625*2877# - ? #7465625*28782# - ? #7465625*638*# - ? #7465625*746*# - ? #7465625*77*# - ? #7465625*782*# - ? *#0206*8376263# - ? *#7465625# - ? *#8377466# - ? *#8999*2884# - ? *#8999*636# - ? *#9999*0# - ? *2767*2666# - ? *2767*2878# - ? *2767*3855# - ? *2767*6277# - ? *2767*63342# - ? *2767*667# - ? *2767*782# - ? *2767*8451# - ? *2767*927# - ? *335# - ? *663867# - ? *7465625*228# - ? *7465625*27*# - ? *7465625*2827# - ? *7465625*28638# - ? *7465625*28746# - ? *7465625*2877# - ? *7465625*28782# - ? *7465625*638*# - ? *7465625*746*# - ? *7465625*77*# - ? *7465625*782*# - ?
×
×
  • Создать...