Sobota, 11 Luty 2012, 13:50

Autor Wątek: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!  (Przeczytany 3438 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 8241
  • Podziękowań: 137
  • Płeć: Mężczyzna
  • Samsung Ace, Raphael, Hermes, Universal i inne
    • Wirtualne Zacisze utak3ra
Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« dnia: Piątek, 08 Sierpień 2008, 00:44 »
OK, OK.... fajny tytuł wątku, nie?  :D

Dla porządku: początkowo było tutaj info o jednej z metod (insert autorstwa bepe). Teraz nieco więcej, dla każdego coś dobrego...


Na początek: jak uzyskać plik xip.bin? Metod jest sporo... mają swoje zalety i wady, na jednych urządzeniach działają jedne, na innych inne... opiszę więc tylko jedną z nich: buildxip.

1. Przygotowujemy katalog (przykładowo ROM), w nim podkatalog XIP, w którym umieszczamy całą zawartość sekcji XIP - moduły i pliki, bez plików *.txt!! W katalogu głównym kuchni, w podkatalogu temp\dump, umieszczamy moduły .VM i .ROM. W katalogu ROM umieszczamy plik romhdr.bin od naszego urządzenia. Dogrywamy narzędzia od bepe. Katalog przygotowany :)

2. Wykonujemy polecenie:
> buildxip

W tym momencie otrzymujemy plik out.bin, który jest naszą nową sekcją XIP (to jest to samo, co byśmy otrzymali przy pomocy programu XIPPort jako plik xip_out.bin).


Jak taki plik osadzić w obrazie ROMu?

Metoda: implantxip.

Metoda ta jest najciekawsza, gdyż nie wymaga znajomości adresu XIP, długości sekcji, umożliwia wybór pomiędzy przesunięciem sekcji IMGFS a pozostawieniem jej tam, gdzie jest, a dodatkowo oferuje możliwość założenia w trakcie łatki na certyfikaty oraz zmniejszenia lub usunięcia partycji ULDR, co jednak nie jest przedmiotem tego wpisu.
Osadzenie pliku xip.bin w przykładowym os.nb.payload wyglądać może następująco:

> implantxip -XIP out.bin -PAYLOAD OS.nb.test -NoCert

gdzie w przykładzie:

-XIP out.bin
plik z naszą nową sekcją XIP

-PAYLOAD OS.nb.test
nasz obraz ROMu

-NoCert
wymuszenie nałożenia łatki na jądro nk.exe, usuwającej odwołania do procedur sprawdzających certyfikaty.

Metoda: insert.

> insert -i out.bin -o OS.nb -d 0x00310000 -s 0x00310000

gdzie w przykładzie:

-d 0x00310000
adres sekcji XIP

-s 0x00310000
długość sekcji. W przypadku, gdy nasz xip.bin jest krótszy, resztę dopełnia zerami.

Metoda: XIPPort.

[attachment=4]

Za pomocą programu XIPPort możemy osadzić przygotowany plik (koniecznie o nazwie xip_out.bin!) w naszym obrazie ROMu. Uruchamiamy program, wpisujemy pożądany adres (musimy go znać!) oraz nazwę pliku naszego obrazu (domyślnie jest tutaj wpisane nk.nb), np. os.nb.payload i wciskamy klawisz "write xip_out.bin to:". Koniec.



I na zakończenie: jak przygotować sobie taki katalog XIP, w celu szybkiego portowania XIPów?
Wrzuć do naszego katalogu OS.nb (bądź OS.nb.payload) zawierający interesującą Cię sekcję XIP i wykonaj:
> dumprom

W efekcie otrzymasz podkatalog XIP, oraz pliki romhdr.bin, msflash.bin i boot.bin :)

Powodzenia!

« Ostatnia zmiana: Środa, 03 Czerwiec 2009, 21:19 wysłana przez utak3r »
Windows Mobile: a story of love and hate.


Offline mobi

  • Administrator
  • Core
  • ****
  • Wiadomości: 19189
  • Podziękowań: 305
  • Płeć: Mężczyzna
  • HTC HD2 #TyphooN CyanogenMod 7#
    • mobione.pl
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #1 dnia: Piątek, 08 Sierpień 2008, 00:59 »
Cytuj
> insert -i out.bin -o OS.nb -d 0x00310000 -s 0x00310000
a inne parametry dla innych urządzeń gdzie szukać?

HD2 - wciąż ten sam telefon, wciąż inne wrażenia :)

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 8241
  • Podziękowań: 137
  • Płeć: Mężczyzna
  • Samsung Ace, Raphael, Hermes, Universal i inne
    • Wirtualne Zacisze utak3ra
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #2 dnia: Piątek, 08 Sierpień 2008, 01:14 »
Dwie metody:
1. ROMMaster i XIPPort, opisane tutaj.
2. Najpewniejszy sposób, który zadziała na każdym ROMie, nawet nie wiadomo jak zmodyfikowanym, gdzie ROMMaster sobie nie poradzi, równocześnie najszybciej:

- otworzyć OS.nb hexedytorem (polecam HxD).
- znaleźć ciąg 45 43 45 43.
- cofnąć się o 0x40 bajtów. Jesteśmy pod szukanym adresem  :D
Windows Mobile: a story of love and hate.


Offline Grimi

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 2809
  • Podziękowań: 75
  • Płeć: Mężczyzna
  • ♠ HTC Mozart ♥ Lark FreeBird 43.1
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #3 dnia: Piątek, 08 Sierpień 2008, 01:32 »
utak3r tytuł zajefajny... ale i praktyczny. Przykleiłem Cię   :)
- Zobacz mnie na GoldenLine


Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 8241
  • Podziękowań: 137
  • Płeć: Mężczyzna
  • Samsung Ace, Raphael, Hermes, Universal i inne
    • Wirtualne Zacisze utak3ra
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #4 dnia: Poniedziałek, 01 Czerwiec 2009, 21:42 »
nieco przebudowałem i rozszerzyłem pierwszy post... ;)
Windows Mobile: a story of love and hate.


Offline globalbus

  • GZU
  • Core
  • ****
  • Wiadomości: 1969
  • Podziękowań: 77
  • Płeć: Mężczyzna
  • N900 + Zest
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #5 dnia: Poniedziałek, 01 Czerwiec 2009, 21:44 »
warto dodać (jak się czepiać to na całego), że program nie jest w stanie relokować sekcji ram.

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 8241
  • Podziękowań: 137
  • Płeć: Mężczyzna
  • Samsung Ace, Raphael, Hermes, Universal i inne
    • Wirtualne Zacisze utak3ra
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #6 dnia: Poniedziałek, 01 Czerwiec 2009, 21:44 »
...ale który? buildxip?
Windows Mobile: a story of love and hate.


Offline globalbus

  • GZU
  • Core
  • ****
  • Wiadomości: 1969
  • Podziękowań: 77
  • Płeć: Mężczyzna
  • N900 + Zest
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #7 dnia: Poniedziałek, 01 Czerwiec 2009, 21:48 »
tak, zdecydowanie, relokuje tylko nk.exe (też nie do końca)
platfrom rebuilder również tego nie potrafi.

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 8241
  • Podziękowań: 137
  • Płeć: Mężczyzna
  • Samsung Ace, Raphael, Hermes, Universal i inne
    • Wirtualne Zacisze utak3ra
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #8 dnia: Środa, 03 Czerwiec 2009, 21:20 »
Małe uzupełnienie w pierwszym poście (podczas edycji posta z sekcji o buildxipie uciekła mi gdzieś informacja o umieszczeniu w katalogu ROM pliku romhdr.bin  ::) )
Windows Mobile: a story of love and hate.


Offline globalbus

  • GZU
  • Core
  • ****
  • Wiadomości: 1969
  • Podziękowań: 77
  • Płeć: Mężczyzna
  • N900 + Zest
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #9 dnia: Środa, 03 Czerwiec 2009, 21:38 »
jak uzyskać romhdr.bin?
idziemy do naszego oryginalnego xipa, 2 dword za instrukcją ECEC to adres, w którym zaczyna się romhdr.bin, ma on długość 0x54, kopiujemy ten fragment do pliku i gotowe.

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 8241
  • Podziękowań: 137
  • Płeć: Mężczyzna
  • Samsung Ace, Raphael, Hermes, Universal i inne
    • Wirtualne Zacisze utak3ra
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #10 dnia: Środa, 03 Czerwiec 2009, 21:42 »
dokładnie. A dla leniwych: dumprom xip.bin również generuje romhdr.bin, a także sekcję msflsh50.
Windows Mobile: a story of love and hate.


Offline globalbus

  • GZU
  • Core
  • ****
  • Wiadomości: 1969
  • Podziękowań: 77
  • Płeć: Mężczyzna
  • N900 + Zest
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #11 dnia: Środa, 03 Czerwiec 2009, 21:43 »
dodaj dumprom od bepe, bo te inne to raczej nie.

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 8241
  • Podziękowań: 137
  • Płeć: Mężczyzna
  • Samsung Ace, Raphael, Hermes, Universal i inne
    • Wirtualne Zacisze utak3ra
Odp: Wbudowanie nowej sekcji XIP w OS.nb? Ależ to proste!
« Odpowiedź #12 dnia: Sobota, 06 Czerwiec 2009, 20:41 »
o jaaaa.....  :oT

Siedzę od dwóch dni i kminię, dlaczego nagle przestał mi działać albo buildxip albo implantxip.... no nic nie działało, pierwszy splash i koniec, cokolwiek bym nie robił.... podstawiałem stare zachowane XIPy - to samo....
W końcu stwierdziłem, że chyba mi się rozleciał os.nb, chociaż to niemożliwe, bo pracuję zawsze tylko na kopii w tempie - no, ale a nóż....
I tak patrzę, jak buduje mi się imgfs - przelatuje i w kilka sekund zbudował.... no i mnie oświeciło  :ol:   w MSXIPKernel znajduje się cecompr.dll, tak? A ja na stałe w os.nb mam wpisane LZX, tak?....  :oT  echhhh.... coś ostatnio przemęczony jestem ;)
Windows Mobile: a story of love and hate.