![]() |
|
![]() |
![]()
Сообщение
#61
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 396 Регистрация: 24.11.2007 Из: Р.Татарстан, г.Набережные Челны Пользователь №: 28 Спасибо сказали: раз(а) ![]() |
Огромное спасибо AGC за его труд, но я все-таки думаю, что портирование устройство-зависимых файлов правильнее, чем наоборот. Так что выкладываю свой вариант мануала по портированию. Подчеркиваю, что нашел всю информацию и собрал все в кучу AGC, за что ему хвала и благодарность! (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif)
Итак: 1. Распаковываем родной XIP WM5 с картами (далее XIP_OLD) 2. Распаковываем XIP WM6 с картами (далее XIP_NEW), копируем его отдельно и создаем пакеты - make pkgs (далее XIP_NEW_COPY) 3. Смотрим состав папки XIP_NEW_COPY\Out\Files\OemXipKernel и копируем с заменой такие же файлы из XIP_OLD\Out\Files в XIP_NEW\Out\Files Если язык родной WM5 прошивки и прошивки WM6 не совпадают, то делаем слудующее: среди них будет boot.rgu - в нем находим ключи, отвечающие за MUI и изменяем их в соответствии с языком прошивки WM6: Код [HKEY_LOCAL_MACHINE\MUI] "Enable"=dword:1 [HKEY_LOCAL_MACHINE\MUI] "SysLang"=dword:409 [HKEY_CURRENT_USER\MUI] "CurLang"=dword:409 в файле boot.hv WinHex'ом находим unicode строку MUI и изменяем соответствующие параметры тоже (см. рис.1) 4. Смотрим состав папки XIP_NEW_COPY\Out\Modules\OemXipKernel и копируем с заменой такие же файлы из XIP_OLD\Out\Modules в XIP_NEW\Out\Modules скорее всего, состав файлов будет следующим: Код cecompr.dll\ ceddk.dll\ giisr.dll\ nk.exe\ stratad_intel_l.dll\ trueffs.dll\ cecompr.dll.txt ceddk.dll.txt giisr.dll.txt nk.exe.txt stratad_intel_l.dll.txt trueffs.dll.txt 5. Теперь нам понадобится утилита M'Reloc_nk. Для начала рассмотрим модули cecompr.dll, ceddk.dll, stratad_intel_l.dll, trueffs.dll, с ними попроще, рассмотрим на примере trueffs.dll: 5.1. Натравливаем M'Reloc_nk на модуль XIP_NEW\Out\Modules\TrueFFS.dll 6. Теперь рассмотрим модули giisr.dll и nk.exe - адресация там не прямая, а косвенная, возьмем к примеру giisr.dll: 6.1. Натравливаем M'Reloc_nk на модуль XIP_NEW\Out\Modules\giisr.dll 7. Теперь мы подошли к следующему этапу - правке nk.exe: 7.1. Открываем файл XIP_NEW\Out\Modules\nk.exe\S000 в WinHex, ищем байты 050052E3 (рис.10). Прямо под найденными байтами видим ключевой байт (выделен красным) - его-то и меняем на 02. Сохраняем. 8. Все! Теперь делаем build xip_out.bin - хип готов, осталось вставить его на место в прошивку! P.S. Мануал писался при портировании хипа для ровера, прикладываю его - надо проверить. |
![]() |
|
![]() |
![]()
Сообщение
#62
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 1806 Регистрация: 20.10.2007 Из: Moscow Пользователь №: 11 Спасибо сказали: 172 раз(а) Девайс:Samsung Galaxy Ace ![]() |
Т.е. кроме реестра, сами системные модули "универсальные" - языка не имеют?
Получается, достаточно чтобы просто в SYS в XIP и IMGFS секциях были от одной сборки? |
![]() |
|
![]()
Сообщение
#63
|
|
![]() MASTER ![]() Группа: Разработчики Сообщений: 9 Регистрация: 26.2.2008 Пользователь №: 573 Спасибо сказали: 2 раз(а) ![]() |
Абсолютно верно.
Переводить нужно только файлы с ресурсами. Пояснение: Например, имеем работающий WM6 WWE для Rover и WM5 RUS для него же. Хотим сделать русскую WM6. Нужно сделать: 1. Распаковать образ WM6 в DUMP, разобрать на пакеты 2. Такая же манипуляция и для WM5-образа 3. Заменить SYS-часть в WM6-dump на русскую, от любого девайса. 4. Заменить OEM-часть в WM6-dump на WM5-dump. 5. Сгенерировать реестр, проверить что все значения MUI и кодовых страниц соответствуют кириллице. 6. Собрать образ ROM на базе WM6-rom 7. Прошиться Вывод: Чтобы получить русскую WM6 нам нужно: 1. Работающий XIP для нашего устройства. 2. SYS-часть с нужным языком от официальной версии от любого устройства. 3. ОЕМ-часть от официальной версии WM5 для нашего устройства. 4. Всё это собирается в кучу, проверяется на ошибки в реестре, оверлапы, исправляются ошибки. 5. Прошиваемся. |
![]() |
|
![]()
Сообщение
#64
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 1806 Регистрация: 20.10.2007 Из: Moscow Пользователь №: 11 Спасибо сказали: 172 раз(а) Девайс:Samsung Galaxy Ace ![]() |
Я правильно понимаю, что процедура настолько проста лишь потому, что WM6 - это на самом деле WM5.2?
Т.е. при более серьезной разнице между WM5 и WM2003 все будет заметно сложнее... |
![]() |
|
![]()
Сообщение
#65
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 396 Регистрация: 24.11.2007 Из: Р.Татарстан, г.Набережные Челны Пользователь №: 28 Спасибо сказали: раз(а) ![]() |
Я правильно понимаю, что процедура настолько проста лишь потому, что WM6 - это на самом деле WM5.2? Т.е. при более серьезной разнице между WM5 и WM2003 все будет заметно сложнее... да, я думаю также, по крайней мере, в WinCE600 (это уже WM7 будет вроде) совершенно другой подход к драйверам и их надо менять при переходе. В MSDN по этому вопросу статья есть. |
![]() |
|
![]()
Сообщение
#66
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Я правильно понимаю, что процедура настолько проста лишь потому, что WM6 - это на самом деле WM5.2? Т.е. при более серьезной разнице между WM5 и WM2003 все будет заметно сложнее... Ну...у. Процедура не настолько уж и проста. Все это так, только если все используемые прошивки "правильные" и т.д. Тут много нюансов на реальном случае... Для самосборных вариантов нужно внимательно смотреть, что в OEM, а что в SYS. К тому же зачастую нужно тащить и часть OEM от донора (а то и большую часть). Потом и в SYS могут быть на самом деле зависимые от устройства модули (например, Bluetooth, dpi под разрешение экрана и т.п.). А если еще кто-нибудь наподписывал левыми сертификатами часть модулей, то и с этим придется разбираться, тогда без разборки OEM-части совсем не обойтись. Сам грешен подобными фокусами (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Так что не совсем все просто... В принципе, в закрытой ветке я же начал обсуждение этой темы. Может ее в Шаманства просто вытащить? Или наоборот, туда перейти? А то это уже не совсем про XIP... (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) P.S. А с WM ниже 5-ки очень сложно, я как то почитал, что там cnomex творил, стало сильно грустно (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Но, в принципе, тоже реально, если ОЧЕНЬ-ОЧЕНЬ захотеть (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) |
![]() |
|
![]()
Сообщение
#67
|
|
![]() Участник ![]() ![]() Группа: Разработчики Сообщений: 37 Регистрация: 24.11.2007 Из: Пензенская.обл Бессоновка Пользователь №: 29 Спасибо сказали: 13 раз(а) Девайс:Rover G5 ![]() |
Помогите разобраться как ХИП обратно в ром вставить прога Русский WinHex 13.5 SR-3 непойму где указать адрес с которого вставлять новый ХИП, если можно скришопы как это делается
|
![]() |
|
![]()
Сообщение
#68
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Помогите разобраться как ХИП обратно в ром вставить прога Русский WinHex 13.5 SR-3 непойму где указать адрес с которого вставлять новый ХИП, если можно скришопы как это делается Боюсь, для ответа мало информации (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Уточни, пожалуйста, какое устройство, какой XIP и откуда он был взят и т.д.? Если речь о клонах атомов, то XIP лежит по адресам 180000-53FFFF (для файла прошивки с карты ОС). Если ты просто вырезал его из другой прошивки по этим адресам, то на эти же адреса его и нужно вставить в другой файл. Если у тебя xip_out.bin, то его нужно вставлять XIPPort-ом на 180000... Вот только не факт, что система после таких произвольных замен XIPа вообще загрузится... В общем, нужны уточнения. По большому счету, вся информация есть в этой ветке и соседней по структуре прошивок, если речь о клонах атомов... |
![]() |
|
![]()
Сообщение
#69
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 1806 Регистрация: 20.10.2007 Из: Moscow Пользователь №: 11 Спасибо сказали: 172 раз(а) Девайс:Samsung Galaxy Ace ![]() |
XIPPort отлично вставляет все, куда надо.
Кидаешь свой xip под именем xip_out.bin и полный образ оси (который diskimg.nb0), в который новый xip нужно вставить, в папку XIPPort'a, запускаешь xipport, указываешь во втором снизу поле адрес начала (для Atom Exec и клонов - 180000), в самом нижем - имя образа (diskimg.nb0). Все (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) PS Да, если образ оси будет с необрезанным заголовком (т.е. 65536012 байт) - то адрес будет 18000C |
![]() |
|
![]()
Сообщение
#70
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Для релока модулей XIPа можно использовать M'Reloc, а не M'Reloc.nk. В этом случае не нужно пересчитывать смещения, просто вводим целевые адреса. Естественно, речь не идет о самом nk.exe, а только об обычных модулях...
|
![]() |
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 7.4.2025, 0:58 |