- Skip to navigation
- Skip to content

## SieDevelop
Сегодня: 12:23, 14.08.2012 г.
Jabber: sg@conference.jabber.ru БФ: CX75v25

# SieDevelop

Поиск :

## DPatcher

DPatcher - V_Klay на эльфе.
© Dimadze

V1.5fix

Скачать

SGold
NewSGold
NewSGold E/EL71
Исходники (IAR)

Обсуждение

SieDevelop

Гарантия правильной работы

Гарантия правильной работы на всех телефонах и со всеми типами флеш имеется уровня "А хер его знает!". В случае поломки вашего телефона в результате ВАШИХ действий с программой, обращайтесь для предъявления претензий на наш сайт "http://idite.na_her.com" т.е. нет никаких гарантий, и если что-то произошло не так, меня винить не надо, поэтому подумайте, прежде чем использовать программу, подумайте, о том, а запустится ли ваш телефон при применении / отмене какого-либо патча. Проект был создан на некоммерческой основе без доли злого умысла. Для вашего спокойствия список телефонов, на которых тестировалась программа:

- E71v45 (Flash Intel:0089:887E)
- E71v45 (Flash ST:0020:8819)
- EL71v45 (Flash ST:0020:8819)
- S75v47 (Flash Intel:0089:880D)
- S7Cv47 (Flash Intel:0089:880D)
- SL75v52 (Flash Intel:0089:880D)
- CX75v25 (Flash Intel:0089:880D)
- S65v58 (Flash Intel:0089:880D)
- С75v24 (Flash Intel:0089:880D)
- С75v22 (Flash Spansion:0001:227E)
- СF75v23 (Flash Spansion:0001:227E)
- C65->SL65v53 (Flash Intel:0089:880D)
- M65->CX70v56 (Flash AMD:0001:227E)

Описание

Этот эльф представляет собой программу-патчер для применения или отмены файлов формата VKP (V_Klay Patch) к флеш вашего телефона в реальном времени.

Скриншоты

Описание меню

Название | Описание
Open Log | Открывает окошко с логом действий, иными словами это что-то типа консоли.
Open File | Открывает файл-менеджер для поиска vkp файла.
Flash Info | Выводит информацию о флеш.
Apply Patch | Применение патча
Undo Patch | Отмена патча
Parser Test | Тест vkp-парсера. Если вы не доверяете парсеру, вы можете прогнать vkp файл через парсер без применения/отмены, с выводом полного лога (в файле) его будущих действий. Если вы проверили и лог соответсвует vkp-файлу можете смело ставить, он поставит именно это.
Mode: XPatcher | Выбор режима патчера, DPatcher или VPatcher.
Exit | Выход из программы

Интерфейс

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

Файл-менеджер при открытии предоставляет доступ к дискам, а также к папке Favorites (0:\Misc\Patches\).

Как работать?

Навигация через файл-менеджер, выбирете vkp-файл, он будет загружен в буфер программы, потом через Apply Patch - vkp файл отпарсится и, если нет ошибок, запросит разрешение на применение, Undo Patch - тоже самое, но отмена, Parser Test - это проверка патча без применения или отмены, если вы, к примеру, не верите парсеру, вы можете использовать этот пункт, результат своих действий для данного патча будет содержатся в файле, путь которого будет указан в лог-консоли, Mode - для выбора режима патчера (нажимайте на этот пункт для смены режима).

Предупреждения

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

VKP Парсер

Парсер содержит много проверок, поэтому неправильный файл не доберётся до вашей флеш. Он действует в несколько этапов, очищает в RAM vkp-файл от комментариев, пустых строк, затем упрощает его до самого простейшего вида, затем идёт процедура проверок на "левые" символы, а уж потом сам парсер. Это 100% результат хорошей работы.

Поддерживается:

Обычные vkp-файлы, с HEX (0x12345) значениями, с #pragma директивами, с директивами на глобальное смещение, c данными через запятую.

Не поддерживаются:
Любые vkp файлы в RTF (Это с разными шрифтами, красками),
VKP содержащие строки, DEC (0i123) и BIN (0b1101) числа, патчи под технологию Master Patch

Если парсер наткнётся на неподдерживаемый формат, он выдаст ошибку.Также будут добавлятся новые поддерживаемые типы VKP. Если так получится, что вам нужно поставить патч, а он не может отпарсится, постарайтесь помочь парсеру, т.е. переделайте его в более простой вид.

Время или скорость патчинга

Я заявляю, скорость патчинга не зависит от размера файла, она зависит от размера блока флеш, скорости флеш, и на каком количестве блоков простирается патч. К примеру библиотека или шрифт имеют внушительные размеры, но так как все данные находится в пределах 1-2 блоков, патчится всё быстро, напротив есть патч содержащий 4 строчки, но, если там данные из 4 блоках одновременно, значит он будет применяться в 2 раза дольше чем библиотека, так как запись во флеш идёт по блокам, неважно сколько данных в патче, важно сколько блоков он патчит. По моим наблюдениям, очень шустрая флеш AMD с размером блока 0x10000.

Поддержка флеш разных призводителей

Патчер тестился на однобанковой флеш Intel в 32 MB (CX75) , на 2x банковой флеш AMD по 16 МБ (M65), на 1 банковой флеш ST в 64 MB (E71). Также есть поддержка флеш Fujitsu , но на ней не тестировалась программа, поэтому имейте ввиду.

Где вис, а где патчинг?

Патчинг происходит при отключенной операционной системе, поэтому телефон жёстко зависнет, ВООБЩЕ НИКАК не будут откликаться клавиши, НЕ БУДЕТ ГАСНУТЬ подсветка и экран НЕ ВЫКЛЮЧИТСЯ, ждите пока телефон не выйдет из этого состояния, и ни в коем случае не выдёргивайте аккумулятор, ПОМНИТЕ, ПАТЧИТСЯ ВАША ФЛЕШ! Так, ну, а если телефон, по вашему мнению, завис в программе, если со временем гаснет подсветка, и 2-3 раза прощёлкивается клавиатура, то это не патчинг, это может парсинг или загрузка большого файла, так что имейте терпение; если ждёте долго (около 5-10 минут), то передёргивайте аккумулятор.

Применил патч, что дальше?

После того как нажали "YES", проиcходит патчинг, обычно он заканчивается пикоффом l1bbcsg, не переживайте, это нормально, просто операционная система снова включилась и обнаружила, что радиотракт долгое время не обслуживался; если вы не хотите пикофф, можете поставить патч l1_pickoff_disable (CX75v25), можно этим патчером. Но имейте ввиду, перезагрузиться всё равно следует, иначе не будет сети и GPRS, и патч не заработает в полный функционал. Но после применеия патча бывает всё равно пикофф, это не ошибка патчера, просто ось немного ошалела, что внезапно появились какие то новые данные, включайте телефон всё будет в порядке. И, пожалуйста, не делайте такую глупость, как отмена эльфпака или библиотеки, эльф вам ничем потом не поможет.

Ну а если при применении незамедлительно случился Watch Dog Max Time, это просто так совпало, что IRQ система не успела запустится перед тем как процессор был сброшен WatchDogTimer - ничего страшного, включайте телефон пробуйте снова, этот баг исправится в новой версии.

Режимы

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

История версий

DPatcher 1.0
Первая публичная версия.
DPatcher 1.1
Во временный обработчик прерываний добавлен ещё один интеррапт, он помог избавится от пикоффа без патча. В метод блокировки операционной системы добавлена процедура ожидания для сброса WatchDog таймера, это уберёт глюк с возможным (S)Exit'ом WatchDog_Max_Time при попытке применить патч.
DPatcher 1.2
Исправил баг, когда эльф выполнял подтверждения самостоятельно при определённых условиях, добавил в эльф режим виртуального патчера.
DPatcher 1.3
Добавлена поддержка новых типов флеш, и немного переписана процедура записи флеш-блока, теперь. если во флеш есть буфер, запись происходит через него, это значительно быстрее, чем однословная запись.
Версии для NewSGold и NewSGold E/EL71.
DPatcher 1.4
.
Добавлена поддержка флеш от производителя Spansion, которая "маскируется" под AMD.
DPatcher 1.5
Убран пикофф WatchDog_Min_Time на NewSGold/NewSGold E/EL71. Оказывается, тамошняя прошивка
не любит, когда флеш разблокирована на запись, и такую оплошность присекает пиком.
Ускорена работа сохранения лога и патча восстановления раз в 10, за счёт промежуточного буфера.
DPatcher 1.5fix
Фикс для NewSGold / NewSGold E/EL71 - убрана блокировка операционной системы в режиме виртуального патчера.

^ Вверх

Предыдущая страница: JKeyEmul
Следующая страница: SuDoKu Game

### Вы можете добавить свой комментарий:

Звёздочкой (*) помечены пункты, которые обязательны для заполнения.
Если требуемые условия не будут выполнены, запрос на добавление
комментария будет проигнорирован!

^ Вверх

| Реклама на сайтах Red Z Group
Бесплатный хостинг
Бесплатный хостинг: Apache, PHP 5.2, MySQL 5.1, 300 MB. PHP: Zend Optimaizer, GD, zlib, mbstring, mysqli, mcrypt и др.