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

[ES400] Создание русификации, Ход разработки

noph8
сообщение 10.10.2013, 19:57 Закрепленное сообщение!


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

Группа: Модераторы
Сообщений: 2 558
Регистрация: 22.10.2005
Из: Kyiv
Пользователь №: 55 238

Рейтинг: 2740



Motorola ES400:

| Описание
| Обсуждение
| Создание русификации для Motorola ES400
| Программы и игры для КПК/Коммуникаторов

Итак, есть некоторые сдвиги по этому направлению, поэтому решил создать новую тему.

Разбираем родную прошивку
Первое что нам нужно: скачиваем последнюю прошивку с оф. сайта.
На данный момент это прошивка 405Bw65XenUL034404. Локализированные версии (все равно русской там нет) нам не нужны, поэтому скачиваем её английскую версию.
Распаковываем полученный zip-архив, получаем следующие файлы:
Код
FLASH.bin
StartUpdLdr.exe
modem.smb
partition.mbn
pkgs.lst

Нас интересует именно FLASH.bin - бинарный образ системы.
Рекомендую сразу переместить все файлы в папку, как можно ближе к корневой на диске, без русских символов и без пробелов в пути к файлам. Например, D:\405Bw65XenUL034404
Скачиваем приложенный архив и распаковываем файлы из него в ту же папку.
Прикрепленный файл Dumptools.7z   ( 149.07 килобайт ) Кол-во скачиваний: 90

Запускаем dump_rom.bat, нажимаем любую клавишу, когда он этого просит. По окончанию получаем в папке dump дамп файловой системы нашей прошивки.

После этого нам понадобится OSBuilder. Я использую тот, что в этом сообщении: [Q9h] kitchen Wm6.1 Standard Build 19214..
Устанавливаем, запускаем. В верхнем правом углу OsBuilder выбираем вместо "Режим - OsBuilder" "Режим - Dump Tool".
После этого выбираем Файл - Открыть папку, где указываем путь к нашей папке с дампом (Например, D:\405Bw65XenUL034404\dump). Ждём, пока OsBuilder считает все файлы, после чего нажимаем на кнопку "Разложить на пакеты":
Прикрепленное изображение
Всё, после этого мы получили нашу прошивку, разложенную по пакетам, разделённую на SYS и OEM-части.
[close]

Подготовка кухни
Создаём где-нибудь папку для работы с нашей прошивкой.
Опять же - рекомендую создавать папку как можно ближе к корневой на диске, без русских символов и без пробелов в пути к файлам. Например, D:\es400mod
В эту папку копируем полученные в предыдущем пункте папки SYS и OEM. Создаём там же папку ROM, необходимую для работы кухни, и папку EXT, куда можно будет положить пользовательские пакеты с программами и разными твиками.
Итого в папке D:\es400mod должно получиться 4 папки: SYS, OEM, ROM и EXT. При работе OSBuilder добавит к этому списку ещё папку Temp.
Запускаем OSBuilder, если закрыли его в предыдущем пункте, или выбираем в его верхнем правом углу "Режим - OsBuilder".
Выбираем Файл - Открыть папку - указываем путь к нашей папке D:\es400mod.
Видим в правой половине надпись:
Цитата
Шаблон не найден

Нажимаем на панели инструментов кнопку "Дополнительные инструменты" (Значок с шестеренкой) и выбираем "Создать шаблон".
В окне выбора файла меняем тип файлов: на "Все файлы" и выбираем файл flash.bin.BIN.NB0.OS.NB, полученный при разборе прошивки.
Потом в меню выбираем Сохранить как... и сохраняем шаблон в папку D:\es400mod\ROM с названием ROM.tpl
Обновляем окно OSBuilder (характерная кнопка, обычно - вторая слева в панели кнопок).
Выбираем "шестерёнка" - "Шаблон (ROMrom.tpl)" - "извлечь boot.rgu в ROM\XIP"
Снова обновляем окно OSBuilder.
В принципе, этого уже будет достаточно, чтобы собрать нашу прошивку, такой же, как она была до разборки. Русифицировать и производить прочие модификации будем в следующем пункте.
[close]

Сборка прошивки

инструкция будет позже, хотя тут всё просто.
Тем, кто разобрался самостоятельно, но столкнулся с ошибками при сборке:
открываем нужный файл с помощью Notepad++, находим нужную строчку и удаляем символ "\" в местах переноса строки. Т.е. вместо
Код
    "IClass"=multi_sz:"{A32942B7-920C-486b-B0E6-92A702A99B35}",\
                      "{f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}"

должно быть
Код
    "IClass"=multi_sz:"{A32942B7-920C-486b-B0E6-92A702A99B35}",
                      "{f8a6ba98-087a-43ac-a9d8-b7f13c5bae31}"

и т.п.

Для получения файла flash.bin берём flash.bin.header, полученный в процессе разборки прошивки и кладём его в ту же папку, что и ROM.nb0 (ROM.nb0 получается после сборки прошивки в OSBuilder и по умолчанию находится в папке D:\es400mod\temp). Далее там же создаём текстовый файл с таким содержимым:
Код
@echo off
echo All tools must be either in the path or in the current directory!
echo The dump directory is generated under the current directory.
echo This is the ES400 version

pause
echo Processing flash.bin
osnbtool -extra ROM.nb0
osnbtool -2bin ROM.nb0.EXA 0x00323200 -cutheader
copy /b/y flash.bin.header+ROM.nb0.EXA.BIN flash.new.bin
osnbtool -fixbinheader flash.new.bin
pause

После чего меняем ему разрешение на bat и запускаем полученный файл.
Собранный таким образом flash.bin можно заливать как родную прошивку.
[close]


Сообщение отредактировал noph8 - 30.9.2014, 11:43
Прикрепленный файл Dumptools.7z   ( 149.07 килобайт ) Кол-во скачиваний: 90
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Sofrik
сообщение 9.10.2013, 23:25


Новичок
*

Группа: Пользователи
Сообщений: 17
Регистрация: 27.3.2007
Пользователь №: 128 719
Модель телефона: V3i+HTC Trinity
Прошивка: R4441D_G_08.03.05R

Рейтинг: 18



noph8, вы еще здесь?)
В общем магией ко мне попал сей аппарат, не смог пройти мимо. Аппарат есть, желание ковыряться тоже есть, hands.sys присутствует. С чего начать ковыряния? С виндой не общался года 4, сижу привыкаю)
Ось стоит 05.02.29128, видимо надо слить или найти ориждинал прошивку, чтоб потом восстановиться. На оф сайте есть SW, прошиться что ли...русского не заявлено.
ЗЫ: Привет МОТОФАН, давно меня тут не было.
ЗЗЫ: Блин, фингерпринт и барсканер! Офигеееть.теперь надо бы понять как их заюзать...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
noph8
сообщение 10.10.2013, 3:38


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

Группа: Модераторы
Сообщений: 2 558
Регистрация: 22.10.2005
Из: Kyiv
Пользователь №: 55 238

Рейтинг: 2740



Sofrik,
я всегда здесь smile.gif
Цель ковыряния - русификация?
В принципе, да - крайне желательно иметь прошивку, с которой можно начать работу. Можно попробовать русификацию подсунуть без прошивки, но не факт, что она "заведётся" из-за отсутствия нужных подписей файлов, а вот в ROM'е подпись файлов обычно не проверяется.
Если я правильно понял, на устройстве WM 6.5 Build 29128?
Ну и то, с чего нужно начать: [ES400] Обсуждение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Sofrik
сообщение 10.10.2013, 9:58


Новичок
*

Группа: Пользователи
Сообщений: 17
Регистрация: 27.3.2007
Пользователь №: 128 719
Модель телефона: V3i+HTC Trinity
Прошивка: R4441D_G_08.03.05R

Рейтинг: 18



Основная цель - русификация конечно. Но если можно будет что нить еще сделать - тоже хорошо.
Код
Ось Windows Embedded Handheld 6.5.3 Professional
CE OS 5.2.29128 (Build 29128.5.3.12.16)

Так говорит сам девайс.
На самом деле аппарат ES405B если верить наклейке под аккумом. Нагуглилась основная прошивка на оф сайте v03.44.0000 - можно скачать и она у меня и стоит судя по всему.
А еще нагуглился апдейт к этой прошивке с доп. языками (v03.44.0004).
Нашего естественно нет, но может есть смысл пересобрать на русский этот апдейт?
Ну и собственно pdocread.exe -l
pdocread.exe -l
C:\itsutilsbin>pdocread.exe -l
150.00M (0x9600000) DSK1:
| 2.12M (0x21f000) Part00
| 7.00M (0x700000) Part01
| 140.88M (0x8ce0000) Part02
96.50M (0x6080000) DSK8:
| 96.50M (0x607f000) Part00
96.63M (0x60a0000) DSK2:
| 96.59M (0x6098000) Part00
32.50M (0x2080000) DSK5:
| 32.50M (0x207f000) Part00
487.69M (0x1e7b0000) DSK3:
| 487.59M (0x1e798000) Part00
STRG handles:
handle#0 60e9d666 487.59M (0x1e798000)
handle#1 60ecd68a 32.50M (0x207f000)
handle#2 6113f972 96.59M (0x6098000)
handle#3 2cb66ee2 96.50M (0x607f000)
handle#4 acb66112 140.88M (0x8ce0000)
handle#5 ccbb07fa 7.00M (0x700000)
handle#6 ccbb081e 2.12M (0x21f000)
disk 60e9d666
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 60ecd68a
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 6113f972
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 2cb66ee2
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk acb66112
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk ccbb07fa
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk ccbb081e
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[close]
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
noph8
сообщение 10.10.2013, 11:10


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

Группа: Модераторы
Сообщений: 2 558
Регистрация: 22.10.2005
Из: Kyiv
Пользователь №: 55 238

Рейтинг: 2740



Цитата(Sofrik @ Сегодня, 12:58)
* Нашего естественно нет, но может есть смысл пересобрать на русский этот апдейт?

Ну, есть смысл посмотреть, что в него входит, чтобы собрать по аналогии свой smile.gif
Буду дома - скачаю посмотрю.
Вывод pdocread.exe -l - это хорошо, можно попробовать снять дамп с его помощью. В любом случае - пригодится для русификации OEM-части.
Если коротко, методика такова:
Первое, немного теории - прошивка WinMo условно состоит из двух частей - системной (SYS) и аппаратно-зависимой (OEM). SYS-части не зависят от аппарата и одинаковые для одинаковых билдов ОС. OEM-часть - на каждой модели своя.
Исходя из этого, наиболее простой метод русификации - разобрать нашу прошивку на SYS и OEM-части. Затем найти другой аппарат на WinMo с тем же билдом и с русским языком, разобрать его прошивку на SYS и OEM-части. А потом файлы, отвечающие за русский язык SYS-части, перетянуть в нашу прошивку.
А вот OEM-часть придётся русифицировать уже самостоятельно с помощью Resource Hacker, Notepad++ и прочих инструментов smile.gif
Опять же - это коротко. Текущие задачи:
1. Снять дамп с нашего устройства
2. Найти разбираемую прошивку с русским языком на билде 29128.


Добавлено позже (10.10.2013, 14:15):
Обалдеть, оказывается этот билд собран 26 апреля 2013 О_О Да, скорее всего придётся искать ресурсы с других билдов.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Sofrik
сообщение 10.10.2013, 11:40


Новичок
*

Группа: Пользователи
Сообщений: 17
Регистрация: 27.3.2007
Пользователь №: 128 719
Модель телефона: V3i+HTC Trinity
Прошивка: R4441D_G_08.03.05R

Рейтинг: 18



Окей, суть понятна. OEM часть частично русифицирована. Например управление фингерпринтом полностью на русском. При условии выбранного русского языка системным.
С дампом трабл, валится в ошибку. Кривую кодировку победить не удалось. chcp не помогает. Единственная мысль по ошибке - у меня видна 7х64 RU. Вечером буду пробовать на XP
error
C:\itsutilsbin>pdocread.exe -v -w -d DSK1 -b 0x800 -p Part02 0 0x8ce0000 imgfs.bin
ERROR: ITLogDiskInfo - LёЄЁющёЄтю эх уюЄютю.

CopyTFFSToFile(0x0, 0x8ce0000, imgfs.bin)
reading 0x10000 bytes from 0x0 with winceread DSK1/Part02
readdisk('DSK1', 'Part02', -2, 00000000, 00000000)
ERROR: ITReadDisk : read 00000050 bytes - LёЄЁющёЄтю эх уюЄютю.
[close]


Ни где не ошибся в синтаксисе? И название DSK1 - правильное?)

ЗЫ: Нагуглил, точно из-за оси. Так что дамп вечером сделаю. Сюда выложить?

Сообщение отредактировал Sofrik - 10.10.2013, 11:47
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
noph8
сообщение 10.10.2013, 11:54


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

Группа: Модераторы
Сообщений: 2 558
Регистрация: 22.10.2005
Из: Kyiv
Пользователь №: 55 238

Рейтинг: 2740



LёЄЁющёЄтю эх уюЄютю = Устройство не готово
Notepad++ решает smile.gif
Да, с x64 могут быть траблы, для этого у меня VMWare Player с WinXP.
Я вот уже ничего не помню по pdocread, но помню, что там разными способами слить дамп можно. На Q9h получилось только более сложным, есть и проще, вроде как.

Добавлено позже (10.10.2013, 14:55):
Цитата(Sofrik @ Сегодня, 14:40)
* Сюда выложить?

мне без разницы - на любой файлобменник. Тут ограничения не хватит smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Sofrik
сообщение 10.10.2013, 12:31


Новичок
*

Группа: Пользователи
Сообщений: 17
Регистрация: 27.3.2007
Пользователь №: 128 719
Модель телефона: V3i+HTC Trinity
Прошивка: R4441D_G_08.03.05R

Рейтинг: 18



Virtualbox не справился(
А я пока нашел русскую CE Build 29128.5.3.12.16. файл CEOS.nbf - вскрываемо? Прошивка от какого то HP 69XX чистая.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
noph8
сообщение 10.10.2013, 16:07


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

Группа: Модераторы
Сообщений: 2 558
Регистрация: 22.10.2005
Из: Kyiv
Пользователь №: 55 238

Рейтинг: 2740



Цитата(Sofrik @ Сегодня, 15:31)
* Virtualbox не справился(

в то время, когда я искал себе виртуалку для работы XP, VirtualBox ужасно коряво работал с USB-устройствами. С VMWare Player (он тоже бесплатный) всё завелось с полтычка.
Цитата(Sofrik @ Сегодня, 15:31)
* А я пока нашел русскую CE Build 29128.5.3.12.16. файл CEOS.nbf - вскрываемо? Прошивка от какого то HP 69XX чистая.

надо пробовать распаковывать утилитами для HP. Учитывая, что она чистая (и, я так понимаю, официальная), должно всё получится.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Sofrik
сообщение 10.10.2013, 16:20


Новичок
*

Группа: Пользователи
Сообщений: 17
Регистрация: 27.3.2007
Пользователь №: 128 719
Модель телефона: V3i+HTC Trinity
Прошивка: R4441D_G_08.03.05R

Рейтинг: 18



Так, добрался до компа. На XP тоже не выдернулась из телефона. Методом проб и ошибок было выяснено что надо делать так
C:\itsutilsbin>pdocread.exe -v -w -d DSK1: -b 0x800 -p Part02 0 0x8ce0000 imgfs.bin

дамп снялся, но с ошибкой:
ERROR: ITReadDisk : read 00000000 bytes - TшёЄхьх эх єфрхЄё  яЁюшчтхёЄш ўЄхэшх ё
єёЄЁющёЄтр.
[close]


Кстати, на какую кодировку вы поменяли в notepad++ ? Копался, но так и не получилось прочитать)
Итого есть видимо битый дамп на 144 метра.

А xip.bin снялся без ошибок.

Сообщение отредактировал Sofrik - 10.10.2013, 16:25
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
noph8
сообщение 10.10.2013, 17:29


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

Группа: Модераторы
Сообщений: 2 558
Регистрация: 22.10.2005
Из: Kyiv
Пользователь №: 55 238

Рейтинг: 2740



Цитата(Sofrik @ Сегодня, 19:20)
* Кстати, на какую кодировку вы поменяли в notepad++ ? Копался, но так и не получилось прочитать)

ну, консоль в Windows работает в досовской кодировке - OEM 866. Поэтому, чтобы прочитать такой вот вывод, выставляем текущей кодировкой 866, вставляем текст
Код
TшёЄхьх эх єфрхЄё  яЁюшчтхёЄш ўЄхэшх ё
єёЄЁющёЄтр.

и переключаем кодировку в ANSI или 1251. Получаем
Код
Tистеме не удаетс  произвести чтение с
устройства.
, что видимо, обозначает "Системе не удается произвести чтение с
устройства."
Цитата(Sofrik @ Сегодня, 19:20)
* А xip.bin снялся без ошибок.

xip - это ядро, но нам, оно, в принципе, не особо нужно на данном этапе...
А кабы точно все установлены?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
[ES400] Создание русификации, Ход разработки · Motorola на Windows Mobile OS: MPx100, MPx200, MPx220, MPx300, Q, Q8, Q9c, Q9h, Q9m, Q11, SURF A3x00, ES400 · Forum
 

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

 



Текстовая версия Сейчас: 28.3.2024, 14:02

Форум живёт: