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

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Sgh-x700 - совместная работа по созданию патчей


Рекомендуемые сообщения

А терь напишу как я его искал. В е730 код по адресу 0x100FC680 (из патча) относится к MCC_ELSEIF 02 (0x100FC4BC) 0x0019 case переходу, в х700 на вкладке МСС (справа) находим MCC_ELSEIF 02, переходим по этому адресу и соответственно на 0x0019 case переход. И всё, находим адрес, по которому меняется код (он у нас получится 4-ым сверху после перехода) и меняем данные.

всё понял кроме-как определить адрес по которому меняется код (в этом случае это 4-й после перехода)?

 

И ещё зачем нужен файл ...*asm который приклепляет Freeman к своим патчам?

Изменено пользователем Санёк55

icq:8-687-692

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 219
  • Создана
  • Последний ответ

Топ авторов темы

Объясните, что такое кейсы mcc?

Простой пример кейса в записи вида сам склепал :44:

 

Идет вызов ф-ции, которой как параметр передаётся число. Пусть это число - номер подфункции.

Пример:

есть ф-ция смс, у неё 2 подфункции - принять/отправить смс. Для вызова первой подфункции надо вызвать смс с параметром 0, для вызова второй подфункции - 1.

Как это будет выглядеть

 

...

//вызов нашей ф-ции с параметром

MCC MCC_SMS 0x1

...

 

//код самой функции

//сохранение регистров и прочее

//если параметр больше некоторого максимума - выход из подфункции

//проверка параметра - кейс

CASE 0x0000 - переход по адрессу подфункции 0

CASE 0x0001 - переход по адрессу подфункции 1

 

 

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

CASE 0x00хх - это и есть кейсы.

 

Советую прочесть про кейсы в С/С++ - поймешь сам принцип работы.

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

Ссылка на комментарий
Поделиться на другие сайты

всё понял кроме-как определить адрес по которому меняется код (в этом случае это 4-й после перехода)?

Адрес прописан в оригинальном патче для D500 или Е730,выполнив манипуляциии,которые я выше описал,находим функцию,кде он используется(мы выясниили,что это MCC_ELSEIF 02,19case).Затем находим этот же переход в X700(через вкладку МСС),и собсна сам адрес.Это называется эквивалентный адрес.Гораздо легче найти,зная функцию,где этот адрес находится. :bx:
/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

И ещё зачем нужен файл ...*asm который приклепляет Freeman к своим патчам?

Ну как же... Это и есть исходник патча. Очень полезная штука при портировании и огромный респект Фримену за то, что он их выкладывает!

Сделал дело, вымой тело...

Нужна помощь? Ждем на irc-канале #sgh

Ссылка на комментарий
Поделиться на другие сайты

Ну как же... Это и есть исходник патча. Очень полезная штука при портировании и огромный респект Фримену за то, что он их выкладывает!

а как его использовать?

 

есть ли ещё какие-нибудь программы которые помогают в написании и портирование патчей? :bx:

icq:8-687-692

Ссылка на комментарий
Поделиться на другие сайты

а как его использовать?

В BinEdit есть такая кнопка кубик сине-красно-зелёного цвета, ARM компилятором зовётся. Нажимаешь её и открывается компилятор, вот им и открываешь исходник патча *.asm :bx:

Пожертвования отправлять сюда R256859050930

Ссылка на комментарий
Поделиться на другие сайты

Вот это бы на X700...

Строгое предупреждение от модератора Mako
Тему перенесли в другой форум,однако и сюда лезут с хотелками. :) Как и предпологалось кроме флуда здесь не будет.Для заданных ранее вопросов и ответов есть уже ветки Создание и Портирование патчей.micha,превед :ak:
Изменено пользователем Mako

Siemens c60 --> Samsung X100 + Samsung X700 + Nokia 3250

Ссылка на комментарий
Поделиться на другие сайты

TK, ты сам понял, что написал?! :) Там на странице около 15-ти патчей, причем некоторые уже существуют на 700-м, а если ты имеешь в виду Other_Files_v5, то посмотрел бы сначала первое сообщение этой темы!!! :Laie_67: :59:

Mako, здесь мы обсуждаем конкретную модель с ее "заморочками". Причем, в этой теме удалось собрать всех владельцев X700, кому не безразлично дальнейшее развитие телефона... Как результат - уже есть полностью разобранный патч "Короткий пароль", портированный Санёк55. Так что насчет "флуда" ты поспешил... :)

Ссылка на комментарий
Поделиться на другие сайты

S_t_i_n_g_e_r, посмотри ссылку внимательней :Laie_67:

 

Mako, как я понял тут собрались начинающие портеры, который хочат оживить X700.

Other Files 5 с исходниками, такчто можт ктонить и попробывал а ему помогли....

P.S Сори

Строгое предупреждение от модератора micha
Заканчиваем с флудом! Еще пара подобных сообщений - и тему закрою

Siemens c60 --> Samsung X100 + Samsung X700 + Nokia 3250

Ссылка на комментарий
Поделиться на другие сайты

Причем, в этой теме удалось собрать всех владельцев X700, кому не безразлично дальнейшее развитие телефона...

Ну это ты преувеличил... :?:

 

такчто можт ктонить и попробывал а ему помогли....

Ктонить - это кто пишет/переносит патчи, ему помогли - ??? (скорее всего тоже, кто пишет/переносит патчи)...

 

Other Files 5 с исходниками

Если есть исходники, то это ещё не значит, что патч так легко перенести... Х700 по другому работает с файлами и папками - уже давно всем известный факт :10: (ну или почти всем), в отличие от Е730/Д500... Для переноса нужна практика на более лёгких патчах.

Пожертвования отправлять сюда R256859050930

Ссылка на комментарий
Поделиться на другие сайты

Как результат - уже есть полностью разобранный патч "Короткий пароль",

Поздравляю.Но согласитесь,что за 7 страниц темы можно было больше 1байта разобрать... :?:

...полностью разобранный.. :10:

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

Х700 по другому работает с файлами и папками - уже давно всем известный факт :10: (ну или почти всем), в отличие от Е730/Д500...

По другому, конечно громко сказано :?: Немного другой принцип. В e730/d500 более ранний вариант, так сказать, а в во всех последующих моделях, включая и x700, немного измененный.

Всё ещё будет...
Ссылка на комментарий
Поделиться на другие сайты

Люди, помогите разобраться.

Пытаюсь постичь патчеписание через хэлпы, дочитался до практики - первый патч "Убрать окно 'Клавиатура заблок.'"

Примеры в хэлпе на Х100, а так как с трафиком я не дружу, решил пробовать на К6:

Загрузил прошивку в BinEdit, загрузил файл sym, просканировал меню.

На вкладке "Языковые ресурсы" в окне поиска ввожу: "заблок." - опа, сразу "Клавиатура заблок."

Жму на адресе этого ресурса два раза - попадаю на вкладку МСС (что слева) и там такой код:

1157CF07  D0 9A D0BB D0B0 D0B2 D0B8D0B0 D182 79D1  
1157CF17  80 D0 B020 D0B7 D0B0 D0B1D0BB D0BE D0BA  MCC_FOCUS_START
...

А что делать дальше? И правильно ли я все сделал на данный момент? Может кто из знающих людей подскажет?

Мои предположения: найти на вкладке МСС (что справа) MCC_FOCUS_START и от этого толкаться (смотреть индекс и составлять сигнатуру для поиска адреса).

И как найти конец МСС-скрипта?

 

Надеюсь, это сообщение не примут за флуд и тему не закроют :132:

Здесь всякие умные люди пишут всякие умные вещи... Так вот, я не такой, и поэтому не буду здесь ничего писать...

Ссылка на комментарий
Поделиться на другие сайты

А что делать дальше? И правильно ли я все сделал на данный момент?

Нашел правильно :(

На адрес этого ресурса переходить незачем, он нам не нужен. Смотри на индекс у этого ресурса.

Зная индекс ресурса, и какая MCC выводит это сообщение уже достаточно для того, что бы найти нужный MCC-скрипт в прошивке.

Подсказка: 47-MCC_REPORT - отвечает за вывод подобных окошек в прошивке X700. Значит тебе нужно найти такой код: 47????00??008307, где "8307" - индекс этого яз.ресурса (в свифтах он пишется справа-налево).

Дальше все по хелпу :(

Ссылка на комментарий
Поделиться на другие сайты

Подсказка: 47-MCC_REPORT

Именно в этом и была загвоздка :lol:

А как вообще определить, какая МСС за что отвечает? Только заучивать?

 

"8307" - индекс этого яз.ресурса (в свифтах он пишется справа-налево).

Этого я тоже не знал, а вводил 7038 :ak:.

Спасибо! :77:

 

47????00??008307

А по хэлпу получается так: 470?000?00??8307 ;)

Или тут для всех параметров справа-налево значения писать надо?

Попробую оба варианта и посмотрю, что будет :)

 

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

Когда я ввел твое значение, то сразу появилось:

1154EBDC  47 0F 0200 0A00 8307 00000000 0000 0000  Сообщение "Клавиатyра заблок."
1154EBEC  17 0A 9500 0000 0100 00000000 0000 0000  Выполнить 0xA x2=149 x3=0 x4=1 x5=0 x6=0
1154EBFC  38 00 0000 0000 0000 00000000 0000 0000  Завершение МСС скрипта

Как я понял, далее меняю первую строку на:

1154EBDC  47 0F 0200 0A00 8307 1154EBFC 0000 0000

 

А в свифтах МСС так же описываются(?):

47 01 0002 0005 EEEE FFFFFFFF 0000 0000

 

Показывает на экране информационное сообщение, 47 - код МСС-скрипта, 01-этот параметр определяет тип пиктограммы, 0002 - звук который будет проигрываться при появлении, 0005 - время задержки сообщения на экране, EEEE - индекс строки в текстовых ресурсах, FFFFFFFF - переход по указанному адресу

И за что отвечают последние два параметра?

Можно ли сюда приаттачить вибро-сигнал?

Модераторам превед и огромное СПАСИБО!

Изменено пользователем Uranium92

Здесь всякие умные люди пишут всякие умные вещи... Так вот, я не такой, и поэтому не буду здесь ничего писать...

Ссылка на комментарий
Поделиться на другие сайты

 

Как я понял, далее меняю первую строку на:

1154EBDC  47 0F 0200 0A00 8307 1154EBFC 0000 0000

вроде как из хелпа надо поменять эту строчку на

 1154EBDC  1C 00 0000 0000 0000 FCEB5411 0000 0000 переход на  0x1154EBFC 

1С- это MCC перехода на определенный адрес прошивки в х700.и код (как я понял из наблюдений) в коде должен писаться справа налево.

 

Пытался сделать этот патч-ну вроде получилось убрать окно только вот клавиатура перестала блокироваться. :60:

 

Пытаюсь портировать патч с Е730 "Вам звонили".

"0x10B9A44" from="181E020000000000708B791000000000" to="1C000000000000003C97C81000000000"

здесь осуществляется переход на адрес "10C8973C".

иду дальше по этому коду ("10C8973C")

как я понял здесь используется MCC_ICBSRP c кодом

  "0F03000F03000F03000F03000F03000F" 

,пытаюсь найти аналогичный адрес в своей прошивке,а БинЕдит выдаёт мне кучу адресов с таким кодом,так вот вопрос какой код использовать?

второй код:

"100D04E0" from="03210A48F5F7BCF9" to="00480047C597C810"

здесь что-то связанно с кодом "10C897C5",а вот остальные цифры мне не понятны

00 48 00 47

:60:

Изменено пользователем Санёк55

icq:8-687-692

Ссылка на комментарий
Поделиться на другие сайты

А по хэлпу получается так: 470?000?00??8307

Да можно хоть 47??????????8307 :), при этом, будет больше шансов найти нужный код.

 

А в свифтах МСС так же описываются(?)

Не совсем...

47 01 0002 0005 EEEE FFFFFFFF 0000 0000

Показывает на экране информационное сообщение, 47 - код МСС-скрипта, 01-этот параметр определяет тип пиктограммы (?), 0002 - время задержки сообщения на экране, 0005 - ?, EEEE - индекс строки в текстовых ресурсах, FFFFFFFF - ? (но никак не адрес)

 

вроде как из хелпа надо поменять эту строчку на

1154EBDC 1C 00 0000 0000 0000 FCEB5411 0000 0000 переход на 0x1154EBFC

1С- это MCC перехода на определенный адрес прошивки в х700.и код (как я понял из наблюдений) в коде должен писаться справа налево.

:60:

Только тебе надо сделать переход на адрес 0x1154EBEC, а не на 0x1154EBFC. Поэтому у тебя и не блокировалась клавиатура, т.к. ты перешел сразу на MCC_EXIT, не выполнив эту TASK:

1154EBEC  17 0A 9500 0000 0100 00000000 0000 0000

(именно эта таск блокирует клавиатуру)

 

Можно ли сюда приаттачить вибро-сигнал?

Да без проблем :60: У вибро-сигнала есть своя TASK. Найти ее можно разобрав скрипт включения бесшумного режима (именно там генерируется вибра при включении). А далее можно заменить сообщение "Клавиатура заблок." на TASK вибро-сигнала.

 

А как вообще определить, какая МСС за что отвечает? Только заучивать?

Смотри в табличку MCC. Там все есть.

Самые основные:

1C-MCC_TRANSF - переход на адрес

1B-MCC_CALL - переход на адрес с сохранением текущего адреса для возврата

37-MCC_RETURN - возврат

38-MCC_EXIT - завершение MCC-скрипта

 

Пытаюсь портировать патч с Е730 "Вам звонили".

Без исходников довольно сложно будет портировать этот патч.

Поэтому для начала советую обратиться к F3n1X за исходниками патча :60:

Ссылка на комментарий
Поделиться на другие сайты

 

Только тебе надо сделать переход на адрес 0x1154EBEC, а не на 0x1154EBFC. Поэтому у тебя и не блокировалась клавиатура, т.к. ты перешел сразу на MCC_EXIT, не выполнив эту TASK:

1154EBEC  17 0A 9500 0000 0100 00000000 0000 0000

(именно эта таск блокирует клавиатуру)

Спасибо за помощь,действительно поставил переход на 0x1154EBEC и всё получилось!!! :60:

 

Без исходников довольно сложно будет портировать этот патч.

Поэтому для начала советую обратиться к F3n1X за исходниками патча :60:

 

Уважаемый, F3n1X :60: !!!Выложи пожалуйста исходники патча "Вам звонили",ну и если не трудно можешь немного объяснить как ими пользоваться.

icq:8-687-692

Ссылка на комментарий
Поделиться на другие сайты

Спасибо за помощь,действительно поставил переход на 0x1154EBEC и всё получилось!!! :77:

Уважаемый, F3n1X :28: !!!Выложи пожалуйста исходники патча "Вам звонили",ну и если не трудно можешь немного объяснить как ими пользоваться.

Держи... А как им пользоваться, я тебе уже тут написал.

Интересно, кто из вас быстрее его перенесёт :cd:

 

как я понял здесь используется MCC_ICBSRP c кодом

Не правильно понял. Это свободная область прошивки, точнее там располагается картинка "Tat mode", которая вообще не используется. Вот я и расположил на ней тело патча :(

пытаюсь найти аналогичный адрес в своей прошивке,а БинЕдит выдаёт мне кучу адресов с таким кодом,так вот вопрос какой код использовать?

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

CallerName.rar

Пожертвования отправлять сюда R256859050930

Ссылка на комментарий
Поделиться на другие сайты

1С- это MCC перехода на определенный адрес прошивки в х700.

Спасибо! :cd:

 

и код (как я понял из наблюдений) в коде должен писаться справа налево.

Спасибо! :28:

Точнее справа налево побайтно, т.е. расположение символов в байте остается неизменным

 

 

Да можно хоть 47??????????8307 , при этом, будет больше шансов найти нужный код.

Но та, что ты приводил ниже даст более точный результат :), а эта даст много лишних

 

FFFFFFFF - ? (но никак не адрес)

А я писал разве адрес? :28: - я хотел сказать, что сюда пишется значение адреса, на который осуществляется переход, вроде так оно и есть :(

 

Да без проблем У вибро-сигнала есть своя TASK. Найти ее можно разобрав скрипт включения бесшумного режима (именно там генерируется вибра при включении). А далее можно заменить сообщение "Клавиатура заблок." на TASK вибро-сигнала.

:77:

А если ничего не менять, а нужно просто добавить, то надо изменить МСС сообщения на преход на неиспользуемый код, а там прописывать три МСС: сообщение, вибру и переход на таск после сообщения. Верно?

 

Смотри в табличку MCC.

А где ее взять?

Здесь всякие умные люди пишут всякие умные вещи... Так вот, я не такой, и поэтому не буду здесь ничего писать...

Ссылка на комментарий
Поделиться на другие сайты

А где ее взять?

В BinEdit есть вкладка MCC справа. Вот там и найдёшь все МСС :28:

Модераторам превед и огромное СПАСИБО!

:cd:

Точнее справа налево побайтно, т.е. расположение символов в байте остается неизменным

Чем мучаться и писать самому справа налево побайтно лучше воспользоваться компилятором BinEdit, он это сам всё сделает.

Например:

.start my_address
.word 0x1129ED40

Скомпилируется так:

40ED2911

Пожертвования отправлять сюда R256859050930

Ссылка на комментарий
Поделиться на другие сайты

Я насчёт Установки ява из др. файлы. Как я понял вся сложность заключается в компиляции? Это сказал Dimastyj, я про это спрашивал в теме Идеи патчей X-серии.

Но ведь телефон же как то компилирует яву, например када с вапа качаешь(или по Софтику - начёт этого не знаю)?

Ссылка на комментарий
Поделиться на другие сайты

Чё то я сидел и тупо смотрел на эти исходники и как ими пользоваться так и не понял. :) Помогите кто-нибудь... ;)

Открыл я их через AMR компилятор,а чё дальше делать?

icq:8-687-692

Ссылка на комментарий
Поделиться на другие сайты

их через AMR компилятор,а чё дальше делать

Изучать, как пытался делать это я... :):) , так все равно до конца не понял, но уже что то хоть понимаю. Смотри примеры, читай учебники, спрашивай мелкие непонятки... ;)

Я думаю, нужно подумать...

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти



×
×
  • Создать...