Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форумы PDA2U.RU _ Создание прошивок _ Файлы и модули WM5/WM6/WM6.1

Автор: AGC 9.12.2008, 3:29

Так как время от времени в личке идут вопросы по назначению и модификации внутренностей прошивок, прежде всего SYS, решил открыть специальную тему. В этой теме предлагаю обсуждать назначение модулей и файлов, а также их модификацию. Т.е. не сами методы прошивки и ее модификации (для этого есть специальные темы), а именно содержание/внутренности прошивок и их модификация.


Флуд будет тереться без комментариев и объяснения причин...

В личке на такие вопросы больше не отвечаю! smile.gif

Автор: AGC 9.12.2008, 3:36

Очередной вопрос из личной почты по прошивке WM6.1 5.2.20931.

Цитата
подскажи как изменить вид курсора установки программ (цветной кубик - раньше был теперь кружки на черном фоне )

shellres.96.dll - в битмапах смотри...

Цитата
пробовал менять MUI чтобы в настройках телефона показывал Поиск сетей не получается я даже не могу найти в каких файлах эти надписи (Предпочитаемые сети - нашел в tapres.dll.0419.mui)

Так если их нет в русских MUI, как ты их так найдешь smile.gif Надо искать по англоязычным MUI, если они новые были.

Есть пара методов:
1. Если знаешь англоязычную фразу или ее часть, то пускаешь контекстный поиск по фразе (ее части) в Unicode по файлам *.mui (источника, естественно, т.е. 0409.mui для WWE). Далее, добавляешь в Strings в русском MUI нужную строку, ну и переподписываешь после модификации русский MUI.
2. Если фразы не знаешь, то делаешь финт ушами. Берешь новый оригинальный англоязычный MUI и переименовываешь его в русскоязычный. Кидаешь в прошивку (можно попробовать в папку WIndows на уже прошитом устройстве, но это не всегда проходит) и смотришь нужную фразу smile.gif

Автор: deniska.75 9.12.2008, 13:02

Я все mui,cpl и exe в прошивке преобразовал в модули,всё работает шустрее и подписвать не надо.Кстати им конкретная адресация в памяти не нужна,так же как и ехе модулям.

Автор: loiv2006 9.12.2008, 14:34

как обратно преоразовать модуль в файл (для последующего редактирования .замены иконок)

Автор: AGC 9.12.2008, 15:16

Цитата(loiv2006 @ 9.12.2008, 14:34) *
как обратно преоразовать модуль в файл (для последующего редактирования .замены иконок)

Инструменты: RecMod.exe и reversmode.exe - перегон туда/обратно

Автор: AGC 9.12.2008, 15:19

Цитата(deniska.75 @ 9.12.2008, 13:02) *
Я все mui,cpl и exe в прошивке преобразовал в модули,всё работает шустрее и подписвать не надо.Кстати им конкретная адресация в памяти не нужна,так же как и ехе модулям.

Подписывать надо или не надо в независимости от того, как идет файл - файлом или модулем smile.gif Просто то, что требует подписи, нужно после модификации обычно переподписывать, хотя опять же не все (кое что работает и так).

По поводу адресации мысль не совсем понял smile.gif

Автор: deniska.75 9.12.2008, 18:20

По поводу адресации.Как известно,добавляя дополнительные модули в прошивку,прежде чем приступить к её сборке в diskimg.nb0,мы прогоняем всё это хозяйство G-relokом.Для чего?Чтобы адреса модулей в памяти не пересекались и эти модули не мешали друг другу работать.Если мы подменяем модуль какого-то файла dll на такой же модуль из другой прошивки и не хотим релочить всё глобально,открываем исходный модуль М-релоком,записываем адресацию,открываем М-релоком новый модуль,вписываем адресацию,нажимаем DOIT,после всё собираем и всё работает.Модули ехе ВСЕ имеют адресацию с 00010000 и далее в зависимости от размера самого файла.Конкретной(отличной у разных файлов ехе)адресации нет.Стало быть они там автоматически распределяются равномерно.Подписывать модули не надо,они работают из-под винды(то есть заведомо являются доверенными).То же самое с файлами mui,их адресация начинается с 10000000 и конечной цифры не имеют.Вот я и говорю что преобразовал все файлы ехе,mui и cpl в модули и от этого стало только лучше.Иничто ничему не мешает,адреса не пересекаются.Всё в полном порядке.

Автор: Angel_Hranitel 10.12.2008, 11:19

насколько я понял текст на заставке при загрузке (Windows Mobile) пишится из какого-то модуля (файла)... какого?

AGC, при загрузке в правом нижнем углу пишется текст, если не ошибаюсь, WM6.1+ RUS. где его убрать (изменить)?

Автор: AGC 10.12.2008, 16:10

Цитата(Angel_Hranitel @ 10.12.2008, 11:19) *
AGC, при загрузке в правом нижнем углу пишется текст, если не ошибаюсь, WM6.1+ RUS. где его убрать (изменить)?

В XIPе в nk.exe в S000 (смещение 2A68h)

Автор: Angel_Hranitel 14.12.2008, 3:58

в настройках (сведениях) написано ОС СЕ 5.2.931 (Сборка 20931.1.5.0) где меняется текст "Сборка 20931.1.5.0"?

Автор: AGC 14.12.2008, 10:17

Цитата(Angel_Hranitel @ 14.12.2008, 3:58) *
в настройках (сведениях) написано ОС СЕ 5.2.931 (Сборка 20931.1.5.0) где меняется текст "Сборка 20931.1.5.0"?

ОС CE 5.2.20931 (Сборка 20931.1.5.0)

1. ОС CE 5.2.20931 - возвращается функцией GetVersionExW, код которой правится при необходимости в coredll.dll в XIPе. См. "http://forum.pda2u.ru/forum/ipb.html?s=&showtopic=36&view=findpost&p=659"

2. Сборка 20931, по-моему, цифра зашита в cplmain.cpl. Но как конкретно она там зашита, я не разбирался (видимо, числом в одной из констант или в сведениях о файле).

3. Версия AKU 1.5.0 определяется ключем реестра из RGU-файла пакета Shell в SYS:
[HKEY_LOCAL_MACHINE\System\Versions]
"Aku"=".1.5.0"

4. Сам формат вывода этой всей надписи в Сведениях определяется каким-то MUI (типа shell*). Его можно исправить, введя, например, дополнительно свое имя... Или вообще написав что угодно вместо данных цифр smile.gif


Примерно так smile.gif

Автор: deniska.75 14.12.2008, 17:13

HeadsetVolLimiter.cpl - сидит в виндос и добавляет в меню "настройки" регулировку максимальной мощности выхода на проводную гарнитуру в виде бегунка.Диапазон регулировок от 90 до 120 децибелл.Градиент 3 децибелла.Никаких ярлыков и ключей реестра не требует,появляется в настройках автоматически.Может быть представлен в прошивке как обычным файлом,так и в виде модуля(даже без конкретного адреса).Думаю не лишний компонент в любой прошивке.

 HeadSetVolLimiter.rar ( 7.51 килобайт ) : 152

Автор: Angel_Hranitel 17.12.2008, 14:45

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

Автор: Angel_Hranitel 17.12.2008, 15:24

Цитата(AGC @ 14.12.2008, 10:17) *
ОС CE 5.2.20931 (Сборка 20931.1.5.0)

1. ОС CE 5.2.20931 - возвращается функцией GetVersionExW, код которой правится при необходимости в coredll.dll в XIPе. См. "http://forum.pda2u.ru/forum/ipb.html?s=&showtopic=36&view=findpost&p=659"

2. Сборка 20931, по-моему, цифра зашита в cplmain.cpl. Но как конкретно она там зашита, я не разбирался (видимо, числом в одной из констант или в сведениях о файле).

3. Версия AKU 1.5.0 определяется ключем реестра из RGU-файла пакета Shell в SYS:
[HKEY_LOCAL_MACHINE\System\Versions]
"Aku"=".1.5.0"

4. Сам формат вывода этой всей надписи в Сведениях определяется каким-то MUI (типа shell*). Его можно исправить, введя, например, дополнительно свое имя... Или вообще написав что угодно вместо данных цифр smile.gif


Примерно так smile.gif

нашел, строка ОС CE 5.2.20931 выглядит так ОС СЕ %d.%d.%d (иероглифы %d%s)... вот только не могу понять, если в первой часте стоит "%d" на номере хипа, то почему во второй часте (в скобках) стоит со же самое "%d", hex-код одинаковый, но выдает другую информацию? и вообще получается что везде "%d" выдает разное значение.

Автор: AGC 17.12.2008, 19:19

Цитата(Angel_Hranitel @ 17.12.2008, 15:24) *
нашел, строка ОС CE 5.2.20931 выглядит так ОС СЕ %d.%d.%d (иероглифы %d%s)... вот только не могу понять, если в первой часте стоит "%d" на номере хипа, то почему во второй часте (в скобках) стоит со же самое "%d", hex-код одинаковый, но выдает другую информацию? и вообще получается что везде "%d" выдает разное значение.

biggrin.gif Скорми гуглу, например, запрос: C++ printf

P.S. Это строка формата вывода...

Автор: AGC 17.12.2008, 19:25

Цитата(Angel_Hranitel @ 17.12.2008, 14:45) *
после замены хипа зверь вешаетс при запуске камеры. из-за чего это может быть и в каких файлах (модулях) копать?

У меня такое последний раз было при некорректном драйвере экрана ddi.dll, т.е. не той версии. В твоем случае, если ты говоришь о XIPе со "странной" адресацией, скорее всего, проблема иная. Поищи здесь ветку начала этого года про запуск камеры под WM6 (там, в т.ч. было и про порт с атома), еще можешь посмотреть ветку про XIP (опять же про порт с атома). Суть в том, что при "странных" смещениях в XIPе ядра (не по родным адресам nk.exe и т.д.), драйвер камеры работает некорректно (впрочем, не только он, там может куча всего не работать).

Автор: Angel_Hranitel 18.12.2008, 11:15

Цитата(AGC @ 17.12.2008, 19:19) *
biggrin.gif Скорми гуглу, например, запрос: C++ printf

P.S. Это строка формата вывода...

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

Автор: AGC 18.12.2008, 11:59

Цитата(Angel_Hranitel @ 18.12.2008, 11:15) *
спасибо, почитал... т.е. если хочу просто текст написать, то это здесь, а вот как найти теперь откуда данные берутся? чем иероглифы читать? если при просмотре через тотал командер ставить юникод, появляются русские буквы, но иероглифов еще больше...

Так я же написал, откуда все цифры берутся: http://forum.pda2u.ru/forum/ipb.html?s=&showtopic=623&view=findpost&p=10140
Или вопрос уже о другом?

Автор: deniska.75 18.12.2008, 20:38

Интересно,а Г-релок когда делает глобальную переадресацию модулей,как-то разделяет СИС и ОЕМ?И ещё если кто знает напечатайте пожалуйста список модулей ВМ5,которые 100% должны в СИС находиться,а то после разборки кухней фабричной прошивки Орсио там такой бардак - всё в кучу свалено,и после Г-релока ничего толком не работает почему-то.

Автор: Slawa 19.1.2009, 20:25

AGC, Извините незнаю куда всунуть мой вопрос, а кухня для WM 5 существует (хочу попробывать засунуть OEM-пакеты в 5-ю)
и сидеть на ней (в 5-ой блютус нужен он у меня работает). huh.gif

Автор: Siemens92 19.1.2009, 22:42

Цитата(Slawa @ 19.1.2009, 20:25) *
AGC, Извините незнаю куда всунуть мой вопрос, а кухня для WM 5 существует (хочу попробывать засунуть OEM-пакеты в 5-ю)
и сидеть на ней (в 5-ой блютус нужен он у меня работает). huh.gif

Нет кухни нету принципе это не тяжело ! Найди WM5.nb0 и разложи на OEM и SYS и если все удачно разложилось можешь добавлять свой пакеты biggrin.gif

Автор: AGC 20.1.2009, 13:02

Slawa, http://ifolder.ru/9726455. Ну и далее разбираешь/собираешь стандартной кухней, как и написал Siemens92...

Автор: Slawa 20.1.2009, 19:37

AGC, Общей инструкции я не нашёл (так как пробовал делать первый раз), да я взял disk WM5 1 12 audio 1 10. , взял кухню от 20931 удалил от туда
папки: OEM, SYS, WORK, запустил DumpFiles , получились папки OEM, SYS в OEM засунул пакет C_PACKAGE_HomeScreen_PlusPlus_UI_Clock заменил
ArcSoft MMS (вставил поновей) потом BuildOS незакрывая его в папке temp выдрал стандартный плагин батареи, закрыл BuildOS в папке FLASH перепрошивку переименновываю и прошиваюсь. Все отлично все работает летает я такое не видел даже на 6.1. До сих пор удивляюсь.(ОС 5.1.195(Сборка 14989.2.6.0)
И что такое XIP в папке ROM,?(может в нём всё дело, может он от 20931) huh.gif


P.S И старый блютус из официальной со старыми телефонами заработал. (раньше стояла 20931)

Автор: Angel_Hranitel 22.1.2009, 1:59

может кому поможет smile.gif там написано какие файлы (модули) для чего нужны...

взято с 4pda

 exe_dll_file_descr.v.2.2.rar ( 35.42 килобайт ) : 238
 

Автор: Slawa 23.1.2009, 17:26

Angel_Hranitel, Спасибо конешно, я сейчас читаю на этом сайте всё подряд. Может посоветуешь ещё что-нибудь и где
почитать, поразбираться.( В частности про Xip ).

Автор: Angel_Hranitel 23.1.2009, 20:21

как писал сам AGC, самая полная инфа по хипам на этом форуме... есть темка "Ковыряем" XIP", пиши в ней что не получается или что не понимаешь и если сможем, то поможем smile.gif

Автор: aukau 25.2.2009, 8:10

Цитата(Slawa @ 20.1.2009, 21:37) *
AGC, Общей инструкции я не нашёл (так как пробовал делать первый раз), да я взял disk WM5 1 12 audio 1 10. , взял кухню от 20931 удалил от туда
папки: OEM, SYS, WORK, запустил DumpFiles , получились папки OEM, SYS в OEM засунул пакет C_PACKAGE_HomeScreen_PlusPlus_UI_Clock заменил
ArcSoft MMS (вставил поновей) потом BuildOS незакрывая его в папке temp выдрал стандартный плагин батареи, закрыл BuildOS в папке FLASH перепрошивку переименновываю и прошиваюсь. Все отлично все работает летает я такое не видел даже на 6.1. До сих пор удивляюсь.(ОС 5.1.195(Сборка 14989.2.6.0)
И что такое XIP в папке ROM,?(может в нём всё дело, может он от 20931) :huh:


P.S И старый блютус из официальной со старыми телефонами заработал. (раньше стояла 20931)


Я тоже хочу поменять батарейку, можно поподробней как это сделать?

Автор: Slawa 26.2.2009, 18:44

aukau, В каком смысле (поменять батарейку)? Я просто официальную 5-ю модернизировал для себя (поменял NET на NET 3.5, ArcSoft_MMS, JAVA red , HomeScreen_PlusPlus_UI_Clock, (ikonka sagruski)(свою сделал вместо стандартной (крутящийся цветной шарик в квадрате)), MSN Hotmail (из официальной английской) ну и по мелочам там. huh.gif

Автор: aukau 27.2.2009, 7:18

Я хочу HP-шную иконку батарейки в верхнем баре в WM5 поменять на иконку от WM6.

Автор: AGC 27.2.2009, 14:14

aukau, так ответ вроде есть на первой странице. Нужно смотреть и править файлики shellres, либо shellres.96.dll, либо иные ресурсы от shellres.dll

Автор: aukau 28.2.2009, 20:47

Цитата(AGC @ 27.2.2009, 16:14) *
aukau, так ответ вроде есть на первой странице. Нужно смотреть и править файлики shellres, либо shellres.96.dll, либо иные ресурсы от shellres.dll


так я уже пробовал , тупо в КПК с заменой фалов копировал так после ресета все конки, кнопки , папки потерялись т.е. либо неправильные либо вообще нет.

Автор: AGC 2.3.2009, 0:38

aukau, может быть неправильно собрал или не подписал?

Автор: aukau 2.3.2009, 7:08

Цитата(AGC @ 2.3.2009, 2:38) *
aukau, может быть неправильно собрал или не подписал?


WM5 shellres.96.dll, shellres.dll и WM6 shellres.96.dll, shellres.dll отличаются количеством иконок и для батарейки в WM5 - 4 иконки, а в WM6 - 6 иконок (с вертикальными палочками) поэтому операционка их не может правильно найти, чето там еще надо менять, а вот че не знаю.

Автор: Angel_Hranitel 2.3.2009, 9:23

Цитата(aukau @ 2.3.2009, 7:08) *
WM5 shellres.96.dll, shellres.dll и WM6 shellres.96.dll, shellres.dll отличаются количеством иконок и для батарейки в WM5 - 4 иконки, а в WM6 - 6 иконок (с вертикальными палочками) поэтому операционка их не может правильно найти, чето там еще надо менять, а вот че не знаю.

найди иконки с батарейками в WM6 и замени их на иконки с WM5, при этом не надо полностью менять shellres.96.dll, shellres.dll. недастоющие(лишние) иконки дорисуй(удали)

Автор: AGC 2.3.2009, 9:33

aukau, smile.gif Теперь все понятно, ты пытался менять файлы целиком, а они просто несовместимы. Кстати, не только между WM5 и WM6/6.1/6.5, но и между версиями одной ОС они могут быть несовместимы. Поэтому, как написал Angel_Hranitel, тебе надо менять не файлы целиком, а графику в файлах целевой ОС. Т.е. разбираешь ОС, берешь оттуда нужные тебе файлы, берешь, например, Restorator или нечто аналогичное. Далее меняешь нужные тебе ресурсы ручками. После замены - переподписываешь измененные файлы. При необходимости устанавливаешь в систему сертификаты, которыми подписывал. И только потом меняешь файлы, которые "исправил". Тогда все будет Ок.

Автор: aukau 2.3.2009, 10:01

Цитата(AGC @ 2.3.2009, 11:33) *
aukau, smile.gif Теперь все понятно, ты пытался менять файлы целиком, а они просто несовместимы. Кстати, не только между WM5 и WM6/6.1/6.5, но и между версиями одной ОС они могут быть несовместимы. Поэтому, как написал Angel_Hranitel, тебе надо менять не файлы целиком, а графику в файлах целевой ОС. Т.е. разбираешь ОС, берешь оттуда нужные тебе файлы, берешь, например, Restorator или нечто аналогичное. Далее меняешь нужные тебе ресурсы ручками. После замены - переподписываешь измененные файлы. При необходимости устанавливаешь в систему сертификаты, которыми подписывал. И только потом меняешь файлы, которые "исправил". Тогда все будет Ок.


Тут ведь еще проблема в том что WM5 батарейка показывает 2 уровня заряда (полная 100% и половина 50% а потом "пустая"), а wm6 - 4 палочки уровня (с разницей по 20%, т.е. 100%->80%->60%-40% потом "пустая"), вот тут и незнаю как cделать чтоб дипазон расширился и Операционка увидела еще две дополнительные (промежуточные 80% и 40%).

Автор: AGC 2.3.2009, 19:34

aukau, а она и не увидит, можешь не мучаться smile.gif Тут уж, извини, какие функции заложены, такие и есть...

Автор: Slawa 2.3.2009, 20:17

aukau, Ещё неплохой вариант в (запчастях для прошивок) кто-то недавно выложил пакет для встраивания в прошивку, программа которая показывает заряд батарейки в процентах, т.е. вместо вертикальных палочек (внутри батарейки отображаются проценты). Я тоже на 5-ой сижу (переделал под себя) эту фичу вшил очень даже нечего. smile.gif

Автор: aukau 10.3.2009, 21:54

Как в WM5 заменить tmail.exe от WM6.1 без прошивки КПК, чтоб SMS с СИМ-карты читались. Менял через реско эксплорер - выдает ошибку приложения.

Автор: Angel_Hranitel 10.3.2009, 22:03

я дум аю к нему и другие библиотеки надо, плюс подписать это все, плюс в телефон сертефикаты засунуть smile.gif не проще перепрошиться на WM6.1?

Автор: Siemens92 10.3.2009, 22:05

Цитата(aukau @ 10.3.2009, 21:54) *
Как в WM5 заменить tmail.exe от WM6.1 без прошивки КПК, чтоб SMS с СИМ-карты читались. Менял через реско эксплорер - выдает ошибку приложения.

Да никак он у тебя работать не будет так как в новых версия виндовс там tmail другой и врятли он у тебя запустится так как если обновлять его нужно обновлять все файлы которые с ним связаны!Вот тогда я думую запустится wink.gif

Автор: AGC 3.5.2009, 16:54

Вот вопрос из лички, информацию уже неоднократно писал, но решил сюда продублировать smile.gif

Цитата
Хотел спросить.. где находится версия XIPa? И возможно ли туда написать что хочешь?
В S000 nk.exe смотрел, но там в явном виде нету...

Посмотри ветку "Разбираем XIP" в "Шаманства для посвященных", я там описывал, какая функция возвращает версию ОС. Естественно, можно написать все, что хочешь smile.gif

Аналогично и с билдом, номер AKU хранится в реестре (RGU от пакета Shell):
[HKEY_LOCAL_MACHINE\System\Versions]
"Aku"=".1.0.3"

Сам номер билда выводится в cplmail.cpl. То ли он там и зашит в виде числа, толи определяется какой-то функцией. Не разбирался...

Автор: 7saw7 16.6.2009, 21:44

Реально ли поправить те файлы которые разобраны до модулей?А если быть точнее то я разобрал драйвер там в директории бинарник текстовый файл и ещё четыре без расширения с этим можно чтонибудь сделать?

Автор: dizz74 16.6.2009, 23:14

Цитата(7saw7 @ 17.6.2009, 0:44) *
Реально ли поправить те файлы которые разобраны до модулей?А если быть точнее то я разобрал драйвер там в директории бинарник текстовый файл и ещё четыре без расширения с этим можно чтонибудь сделать?


насколько я знаю:
Наводишь папку на файл RecMod.ехе - получаешь в папке готовый файл.
Если хочешь обратно из файла - в папкумодуль - навести файл на reversmode.ехе

вроде так...хотя могу врать.... кухни начал токо-токо изучать.....

Автор: 7saw7 17.6.2009, 14:56

dizz74,
Спасибо конечно за содействие но я не это имел ввиду это я знаю я имею ввиду те файлы которые в модуле можно ли их поправить!

Автор: Quarx 17.6.2009, 16:14

Только через HEX.

Автор: 7saw7 17.6.2009, 21:07

Quarx,
Ясно но с этим хуже конечно. sad.gif

Автор: Corias 18.6.2009, 0:11

Цитата
я имею ввиду те файлы которые в модуле можно ли их поправить!

Можно их вытащить при помощи утилиты RecMod

Автор: AGC 18.6.2009, 15:42

Цитата(7saw7 @ 16.6.2009, 22:44) *
Реально ли поправить те файлы которые разобраны до модулей?А если быть точнее то я разобрал драйвер там в директории бинарник текстовый файл и ещё четыре без расширения с этим можно чтонибудь сделать?

Извини, не совсем понятен вопрос smile.gif Что значит - поправить? Если пропатчить - так легко, прямо в Sxxx и правишь, либо собираешь назад в dll-ку или exe-шник и правишь там (только потом переподписать не забудь, это, возможно, будет необходимо). Если ты имеешь в виду, как понять, что именно нужно патчить, то ответ и сложнее и легче. Берем, например, IDA, дизассемблируем и изучаем код, потом патчим, что нужно smile.gif По IDA и прочему, есть материалы в разделе Шаманства, если нужно (в плане, ссылка на саму IDA и по архитектуре ARM и WinCE, если необходимы такие материалы).

Автор: 7saw7 18.6.2009, 16:51

AGC,
Как всегда в своём репертуаре smile.gif а говориш что не понял вот этот ответ я именно и ждал!!!
Огромнейшее спасибо буду курить!!!

Русская версия Invision Power Board (http://nulled.cc)
© Invision Power Services (http://nulled.cc)