motofan logo
2 страниц V  1 2 >        
> 

Форматы Патчей, Обсуждения и разработка

0vZ
сообщение 17.1.2006, 19:38


Мото-юрист
*****

Группа: Почётные мотофаны
Сообщений: 371
Регистрация: 15.2.2004
Из: Ростов-на-Дону
Пользователь №: 1 173
Модель телефона: X100/C350/SP3i
Прошивка: G1/74R/WinMobile2005

Рейтинг: 278



У меня есть пара предложений (побуду сегодня генератором идей):
1) Давайте каждый новый патч (не новую версию, но новый порт патча на другую прошивку, а именно новый патч) обсуждать в отдельном топике. Но,
2) краткое описание и ссылку на топик и загрузку писать в теме "Последние патчи" Последние Патчи
3) В этой теме давайте, раз уже начали, обсуждать патч разблокировки сиимов и формат патчей ФБ.
Процитирую моё обращение к Random'у из ICQ (надеюсь, он будет не против).
Цитата
Я наблюдал прогресс развития патчей у телефонов Самсунг и хотел бы предложить не изобретать велосипед, потом параовоз, потом машину, а сразу сесть на самолет.
1) Формат патчей а-ля INI-файл не очень удобен для расширения этого формата (а оно потребуется, гарантирую!). Предлагаю сразу использовать XML-подобный формат
2) Если ввести п.1, то можно сделать поддержку патчей для разных прошивок в одном файле патча.
Выглядеть это может так:
Код

<patch Title="My super patch" Author="Superman">
<firmware name="R373_G_0E.30.42R" CodeGroup="1">
тут пишем что хотим изменить
</firmware>
</patch>

3) Далее, у многих патчей хотелось бы изменять какие-либо значения. Пример уже есть сейчас! Патч, изменяющий комбинацию блокировки клавиш.
Может кто-то захочет изменить себе эту комбинацию? А хотелось бы поменять легко, прямо перед прошивкой патча, не зная о том что существует какой-то там хекс-код.
Для этого можно было бы ввести что-нибудь подобное:
Код
<change offs="0x123456AB" from="30AB03FF" to="30??03??"> //знаками вопрос будем показывать куда писать значения
 <control type="ComboBox" Default="1"> //тут допустим указываем itemIndex
 <Items>
 <Item value="0A" caption="#"/>
 <Item value="0B" caption="*">
 </Items>
 </control>
 <control type="ComboBox" Default="2"> //тут допустим указываем itemIndex
 <Items>
 <Item value="0A" caption="#"/>
 <Item value="0B" caption="*">
 </Items>
 </control>

Итого, имеем:
в прошивку по адресу 0x123456AB записываются байты: 30 выбранный_пользователем_байт 03 ещё_один_выбранный_пользователем_байт

В качестве контролов ещё неплохо было бы что-нибудь такое:
<control InputType="Int"> //str, bool
для ввода значений, где нет предустановленных вариантов. Для типов Int, Str можно было бы предусмотреть свойство Length

Однако, сразу скажу (да и Random со мной согласен), что такой формат довольно сложен в реализации.
Цитирую ответ:
Цитата
Предложеннй вариант конечно хорош, но требует значительно больше умственных и временных затрат.

Сейчас у многих сессия (уважаеммый Random не исключение), так что тут пока предлагаю обсудить возможные варианты будущего формата патчей и предложить их на вооружение автору FlashBackup.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Random
сообщение 19.1.2006, 10:45


Музыкант
******

Группа: Почётные мотофаны
Сообщений: 1 066
Регистрация: 28.1.2005
Пользователь №: 36 054
Модель телефона: iPhone 4S

Рейтинг: 921



Цитата(Vilko @ Вторник, 17 Января 2006, 21:58)
народ, особливо puper и random:
давайте не будем городить каждый свой формат, придумайте общий стандарт чтоб людям проще было... :)
*



Я только за. Правда, как известно, каждый кулик свое болото хвалит :)

Мой формат - это вроде патчей для сименсов.
Достоинства - простота чтения и редактирования.

OvZ уже предложил формат на основе XML (как у самсунгов, насколько я понял)
Это дает возможность большого функционала. Т.е. дополнительные расширения, которые могут появиться позже, возможно не будут читаться в старых версиях (например, вариации патча), но основная часть будет работать всегда.

В варианте puper'а - патчи не удобны для редактирования. Да и сам метод их применения в прошивку не очень хороший.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Random
сообщение 19.1.2006, 10:56


Музыкант
******

Группа: Почётные мотофаны
Сообщений: 1 066
Регистрация: 28.1.2005
Пользователь №: 36 054
Модель телефона: iPhone 4S

Рейтинг: 921



А вот текущая спецификация моего формата ".FPA"
Поддерживается в FlashBackup v2.59

Код
; Пример синтаксиса патча с расширением ".FPA"

; Информация о патче
[Patch_Info]
RequiredPatcher=Версия программы, которая необходима для применения патча
Firmware=Версия прошивки, для которой написан патч
Description=Описание патча
Author=Автор(ы) патча
Version=Версия самого патча

; Код патча
[Patch_Code]
XXXXXXXX: AA BB
YYYYYYYY: CC DD EE FF GG
ZZZZZZZZ: HHIIJJKKLLMMNNPPQQ

; Оригинальные данные для отмены патча:
[Patch_Undo]
XXXXXXXX: OA OB
YYYYYYYY: OC OD OE OF OG
ZZZZZZZZ: OHOIOJOKOLOMONOPOQ


RequiredPatcher
Для текущего формата - "2.59". Вообще этот ключ больше на будущее расчитан.
Если отсутсвует этот ключ - то будет как для самой первой рабочей версии. Скорее всего такая версия будет v2.6 :)

Firmware
Старый ключ SW_Ver также будет читаться, но этот лучше отображает суть

Сообщение отредактировал Random - 22.1.2006, 20:22
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AlexKooper
сообщение 19.1.2006, 11:02


Авторитет
********

Группа: Почётные мотофаны
Сообщений: 2 838
Регистрация: 27.7.2005
Из: Йошкар-Ола
Пользователь №: 47 140
Модель телефона: E398
Прошивка: AlexKooper mod v.47

Рейтинг: 1337



Цитата(Random @ Четверг, 19 Января 2006, 13:56)
А вот текущая спецификация моего формата ".FPA"
Код
; Пример синтаксиса патча с расширением ".FPA"
; Оригинальные данные для отмены патча:
[Patch_Undo]
XXXXXXXX: OA OB
YYYYYYYY: OC OD OE OF OG
ZZZZZZZZ: OHOIOJOKOLOMONOPOQ

*


При патчении проводится сравнение оригинальных данных из прошивки с оригинальными данными из патча? На предмет различия (например, прошивка не та, но переименованная в нужную, или уже патченная)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Random
сообщение 19.1.2006, 11:20


Музыкант
******

Группа: Почётные мотофаны
Сообщений: 1 066
Регистрация: 28.1.2005
Пользователь №: 36 054
Модель телефона: iPhone 4S

Рейтинг: 921



AlexKooper,
Пока нет. Но можно сделать.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Archy
сообщение 19.1.2006, 12:24


Ветеран
*****

Группа: Почётные мотофаны
Сообщений: 447
Регистрация: 10.4.2005
Из: Киев
Пользователь №: 40 468
Модель телефона: E1-L6-L7e-U9, iPhone
Прошивка: M-S1.5RC3 L7e_01.0AR

Рейтинг: 516



Вообще нужно сделать, все мы прекрасно понимаем, что будут делать новички...
Кстати, о формате.
Был такой старый добрый патчер, Crack.exe - патчил файлы по сравнению, выдаваемому ДОСовской командой "fc /b file1 file2", очень удобно, и никогда не перепутаешь ничего, просто не пропатчит, и, опять-таки, всегда ОТКАТИТЬСЯ можно...

Например:
Код

адрес было стало
---------------------
0005D2DA: 93 80
0005D2DB: 60 80
0005D2DC: 30 80


И вопрос еще один. Как-то странно 2.57 патчит -

переключение во флеш-режим
загрузка лоадера
создание резервной копии
восстановление резервной копии...

Это как понимать? :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AlexKooper
сообщение 19.1.2006, 12:49


Авторитет
********

Группа: Почётные мотофаны
Сообщений: 2 838
Регистрация: 27.7.2005
Из: Йошкар-Ола
Пользователь №: 47 140
Модель телефона: E398
Прошивка: AlexKooper mod v.47

Рейтинг: 1337



Цитата(Random @ Четверг, 19 Января 2006, 14:20)
AlexKooper,
Пока нет. Но можно сделать.
*


Хотя бы опционально(опция - проверять прошивку перед патчем), в виде окошка в процессе патчения "прошивка уже пропатчена, продолжить?" или "данные прошивки не совпадают с undo, продолжить? да\нет"
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Random
сообщение 19.1.2006, 12:57


Музыкант
******

Группа: Почётные мотофаны
Сообщений: 1 066
Регистрация: 28.1.2005
Пользователь №: 36 054
Модель телефона: iPhone 4S

Рейтинг: 921



Цитата(Archy @ Четверг, 19 Января 2006, 15:24)
И вопрос еще один. Как-то странно 2.57 патчит -

переключение во флеш-режим
загрузка лоадера
создание резервной копии
восстановление резервной копии...

Это как понимать? :)
*



Издержки бета-версии :)

Цитата(AlexKooper @ Четверг, 19 Января 2006, 15:49)
Хотя бы опционально(опция - проверять прошивку перед патчем), в виде окошка в процессе патчения "прошивка уже пропатчена, продолжить?" или "данные прошивки не совпадают с undo, продолжить? да\нет"
*



Да, так наверное и будет.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Inlined
сообщение 20.1.2006, 14:34


Интересующийся
**

Группа: Пользователи
Сообщений: 91
Регистрация: 5.9.2005
Из: Санкт-Петербург
Пользователь №: 50 635
Модель телефона: E398, DEFY

Рейтинг: 73.5



Random,

Считаю, что режим проверки исходных данных должен быть обязательным. Если не совпало - лесом.
Иначе юзеры будут себе только прошивки портить. Сейчас уже есть такие сообщения. Что-то перестает работать. У других все ОК. Из-за чего это может быть еще?

Т.е. добавить в формат:

Код

[Patch_Info]
Strict=True;если указано True, то проверка исходных данных обязательна. False - без проверки. Без этого ключа патч не обрабатывать
URL=http://motofan.ru/board/index.php?showtopic=44643;опционально, любой URL (обсуждение, вопросы, поддержка и т.п.)
Pattern=True;* см. ниже

[Source]
XXXXXXXX: a1a2a3b4...; те же самые данные, что и в Patch для проверки при Strict=True (обязательно проверять кол-во данных в Source и Patch



Pattern=True означает паттерн-патч, спец. тип универсального патча для нескольких моделей прошивок.
Адрес для такого патча - 00000000 (т.е. адреса нет)
Алгоритм внесения:
программа патчер ищет в данных указанную в Source последовательность. если найдено 1 раз - обработка по найденному адресу. если не найдено, либо найдено более 1 раза - ошибка.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
KOPAY
сообщение 21.1.2006, 10:36


Новичок
*

Группа: Пользователи
Сообщений: 17
Регистрация: 11.4.2005
Пользователь №: 40 532
Модель телефона: E398

Рейтинг: 1



ну не знаю даже, лично я привык к сименсовому варианту, по мне, так очень приятно для работы.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Форматы Патчей, Обсуждения и разработка · Патчи и всё для них · Forum
 

2 страниц V  1 2 >
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.4.2024, 8:27

Форум живёт: