IPB

Здравствуйте, гость ( Вход | Регистрация )

Форум перемещен на новый домен: forum.pda2u.ru - исправьте, пожалуйста, свои ссылки
> Описание и Методика пересборки прошивок, Собственно технология ковыряния
AWinterice
сообщение 8.11.2007, 6:53
Сообщение #1


PDA2U.RU Team
****

Группа: Разработчики
Сообщений: 265
Регистрация: 20.10.2007
Из: Екатеринбург
Пользователь №: 9
Спасибо сказали: 25 раз(а)

Девайс:HTC Incredible S


Выкладываем сюда програмы и методы для ковыряния прошивок, а также описание и назначение модулей и системных библиотек и способы их замены
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
 
Начать новую тему
Ответов
BigMike
сообщение 19.11.2007, 0:23
Сообщение #2


PDA2U.RU Team
****

Группа: Admin
Сообщений: 1806
Регистрация: 20.10.2007
Из: Moscow
Пользователь №: 11
Спасибо сказали: 172 раз(а)

Девайс:Samsung Galaxy Ace


Кое-какую инфу нарыл, но пока времени нет этим всем серьезно заниматься.
Значится, чтобы портировать WM6 или новые AKU на наши прошивки порядок работы должен быть примерно такой:
1 - достать разбирабельную прошивку с нужной нам версией OS;
2 - разобрать свою прошивку и прошивку-донор;
3 - разобрать XIP обеих прошивок;
4 - портировать ядро оси из XIP донора в XIP целевой прошивки;
5 - портировать SYS из OS донора в целевую прошивку;
6 - пересобрать XIP и OS целевой прошивки, использую Relloc для XIP и G'Relloc для OS;
7 - вставить новый XIP в прошивку, прошиться и отлавливать глюки (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)

Портирование содержимого XIP, мануал на инглише:
1. Build dump.
2. Build maps
Copy this maps (at least you will need MAP.txt) to safe location for exploring later.
3. Make pkgs
Go to OUT/Modules and look for MSXIPKernel package - this thing you can replace with MSXIPKernel package from another device (also you MUST use XIPPort on another device's XIP - and MUST make it's maps and save that other device's MAPS.txt somewhere). And remember what files MSXIPKernel contains.
4. Undo (must 'unmake' pkgs so modules all will be just in out/modules folder)
OK - now just replace all modules related with MSXIPKernel as your remembered and their appropriate ....txt files ... e.g. replace folder coredll.dll and file coredll.dll.txt and so on. Just do not replace files like nk.exe, cecompr, ceddk, fsdspy, msflash because they can contain OEM's data and be tied to your device.
5. 'Relocate
Some people says that here XIPPort has some errors when trying to relocate modules to fit them in place, well, but we will try to fix them by hands (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
Now look in MAP.txt ... you will need such section (in beginning):
01fa01fe - 01fa01fe L00000000 Start: first DLL address
01fa01fe - 01fe1000 L00040e02 NUL
01fe1000 - 01fe2000 L00001000 actual of region_1 Fsdspy.dll
01fe2000 - 01fef000 L0000d000 actual of region_1 msflash.dll
01fef000 - 01ff0000 L00001000 actual of region_2 cecompr.dll
...
01fff000 - 02000000 L00001000 actual of region_1 coredll.dll 
02000000 - 02000000 L00000000 End: last DLL address I
Now you must compare an old MAP.txt for your device, MAP.txt for a device from where you take aku's files and this MAP.txt - all three of them.
Idea is to fix what XIPPort done with that .dll sections which are in 'First DLL... Last DLL' region.
You must edit imageinfo.txt files by hands to get such thing: Files that you are NOT replaced from second device - must have their 'actual of region_1' addresses like in your OLD MAP.txt, files that you copied from new device - must have their 'actual of region_1' like in THEIR MAP.txt.
Main idea is to put that module's regions that WAS in 'first DLL ...... last DLL' section on their RIGHT positions. Hope you understand...
To relocate region's address - edit it's imageinfo.txt file:
e.g. - you replaced coredll.dll and after 'realloc P' it has it's 'actual of region_1' somewhere like 02300000 - but in that MAP.txt file from where your took coredll.dll - you can see that it must be 01FFF000 - go to imageinfo.txt in coredll.dll folder and look for "o32[1].o32_realaddr" line - [1] stands for 'region_1', [2] - for 'region_2' - you will understand... There can be direct address like 02300000 or relative address like D+0005EE02 - D means value that you can find in your ROMHDR.txt file - look for line "dllfirst: D=01FA01FE" - it's a D value - I used D+... to alter region_1's positions.
Tune all files and you need to get 'first DLL .... last DLL' section be right.
Then again build maps. (while you working on that section - 'build maps' can make an error - so - first edit all imageinfo.txt files only then press 'make maps').
now your new MAP.txt must look right - all .dlls must have their RIGHT addresses in section 'first DLL ... last DLL
6. Ok - then you need to patch S000 file in nk.exe module to put there your new ROMHDR offset. First - look in your old MAP.txt file for OLD ROMHDR offset, there must be a line:
8027dba4 - 8027dbf8 L00000054 rom_00 header: dlls=01fa01fe-02000000 phys=80180000-804e14f0, 21 modules, 11 files, 1 copyentries ext=80182e64 ram=900f8000-94000000 cputype=000001c2
you see - 8027DBA4 - it's your OLD offset - search for this hex value in S000 part of nk.exe - there must be only one (or else you will have to guess where you can patch, hehe)... btw - don't forget that in hex editor this value will be A4 DB 27 80 (reversed)... well - patch it to your NEW romhdr offset that you can find in your NEW MAP.txt file ...
ok ... that must be ALL ...
just don't forget that after 'realloc P' you must alter imageinfo.txt files to get region_1(2) back in their RIGHT places and to patch S000 of nk.exe to put there your new ROMHDR offset...
Then - guess - build xip_out.bin, put xip_out.bin in your xip2 and flash all that things back to your PDA...

Еще несколько очень полезных ссылок (хотел сам разобраться, но, похоже, до отпуска уже руки не дойдут):
http://www.pda4x.com/read.php?tid=40125&am...ead=&page=1 (здесь речь идет про старый xipport - новый, по идее, не должен делать этих ошибок, но это еще нужно проверить).
http://forum.xda-developers.com/showthread...6360&page=2
http://buzzdev.net/read.php?26,27196
http://wiki.xda-developers.com/index.php?p...m_Cooking_Notes


Спасибо сказали:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

Сообщений в этой теме
- Winterice   Описание и Методика пересборки прошивок   8.11.2007, 6:53
- - BigMike   Кухня для атомов с xda-developers.com Все утилиты ...   8.11.2007, 14:15
- - BigMike   G'Reloc Очень полезное дополнение к кухне. При...   8.11.2007, 20:48
- - BigMike   Package tool Утилита от bepe для переборки папки d...   8.11.2007, 21:04
- - BigMike   WinImage Меганеобходимая утилита для редактировани...   8.11.2007, 21:10
- - BigMike   Мегаинтересная вещь для ковыряния прошивок: Принци...   9.11.2007, 13:08
- - BigMike   Собранная на основе Tadzio tools кухня для девайсо...   9.11.2007, 13:10
- - BigMike   Небольшой мануал по кукингу. Пока выкладываю в том...   10.11.2007, 0:58
- - BigMike   Кое-какую инфу нарыл, но пока времени нет этим все...   19.11.2007, 0:23
- - Mr.Nik   HyperCore Kitchen ► MULTIDEVICE Описание к...   19.11.2007, 15:32
- - ArHon   Руководство по созданию OEM-пакетов (С) Garmin, ...   7.12.2007, 11:09
- - ArHon   Вот в кучу цитата другого моего поста, более подро...   8.12.2007, 3:07
- - Winterice   Вопрос такой собрал прошивку для G5 на основе G6 п...   28.1.2008, 17:31
- - k0ster   WinterIce Перед BuildOS, обязательно сделай Greloc...   28.2.2008, 18:56
- - Winterice   Упс не подправил старое сообщение уже разобрался н...   28.2.2008, 19:18
- - ArHon   Еще такой момент обнаружил - если файл exe, dll ил...   7.3.2008, 11:24
- - AGC   imgfs_tools со встроенным G'Reloc Пересобрал ...   1.12.2008, 0:14
- - Angel_Hranitel   малнькая прогрпмка для работы с *.dsm, взята из ку...   13.3.2009, 22:56
- - Angel_Hranitel   Переводит initflashfiles.dat с содержимым типа Цит...   13.3.2009, 23:11
|- - AGC   Цитата(Angel_Hranitel @ 13.3.2009, 23:11)...   13.3.2009, 23:59
- - mitei   Кто-нибудь может мне объяснить вот это что значит?...   6.2.2010, 11:31


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

 



RSS Текстовая версия Сейчас: 7.5.2026, 13:37
return_links(); ?>