1. Ściągamy MAIN softa dla telefonu, którego main chcemy otworzyć.
2. Przeciągamy plik .mbn na program Main2Raw.
3. Możemy usunąć plik .mbn, zostawiając tylko plik .raw.
Otwieranie maina w IDA (Disassembling)
1. Uruchamiamy IDA Pro Advanced 32-bit.
2. Klikamy OK w pierwszym okienku. W kolejnym klikamy GO.
3. W IDA klikamy u góry "File" i wybieramy "Open".
4. Wybieramy main który chcemy otworzyć (czyli za pierwszym razem otwieramy main, dla którego istnieje patch).
- Plik musi być w formacie RAW
6. Wyskakuje nam nowe okienko. Zmieniamy w nim "Processor Type" na "ARM Processors 710a" i klikamy SET.
7. Klikamy "Processor Options" w tym samym oknie i zaznaczamy "Disable pointer dereferencing" i dajemy OK.
8. Teraz klikamy OK w tym oknie, w którym wybieraliśmy "Processor Type".
9. W nowym oknie "Disassembly memory organisation":
- W polu ROM start Adress wpisujemy baze naszego telefonu:
-Db2010: K510i, W810i, W200i, K310i: 0x44140000
-Db2010: K750i/D750i/W800i/W700i: 0x44020000
-Db2020: K770i/k800i/k790i/k810i/w850i/W580i/W880: 0x44140000
-Inne DB2020 również powinny posiadać bazę 0x44140000
-Dla A2 patche portujemy pod plik phone_app.cxc. Wyciągamy go z fona a2uploaderem z folderu BOOT (można też przeciągnąć plik maina na read3150.exe). Zmieniamy mu format na RAW, otwieramy WinHexem, dajemy Search > find hex values. Wklepujemy:
18F09FE518F09FE5
i od miejsca przed osiemnastką zaznaczamy w górę (do samego początku) i klikamy delete, potwierdzamy działanie. Teraz przy offsecie 00000000 pierwszą "liczbą" ma być 18. Zapisujemy plik i zamykamy WinHexa.
I przy otwieraniu maina w IDA używamy bazy 0x10000000. - Z pola ROM SIZE, kopiujemy trzy pierwsze znaki po "0x".
- Otwieramy kalkulator. Wybieramy Widok>Naukowy. Po lewej stronie zaznaczamy kropkę przy HEX.
- Wklejamy znaki skopiowane z IDA i dodajemy 1.
-dla niektórych wyda to się głupie, ale nie wszyscy pojmują system szesnastkowy, i przy dodawaniu "1" do "F" mogą sie pogubić, tak więc lepiej będzie jeśli zrobi to kalkulator. - Jeśli wynik ma trzy znaki, to kopiujemy go i wklejamy w miejsce trzech znaków, które kopiowaliśmy. Jeśli wynik ma dwa znaki, to poprzedzamy go zerem i wpisujemy w miejsce skopiowanych trzech znaków.
- Ostatni znak w ROM SIZE zmieniamy na 1 (początkowo jest 0).
- Kopiujemy wszystkie znaki z pola "Rom Start Adress" i wklejamy do "Loading Adress".
- Kopiujemy wszystkie znaki z pola "Rom Size" i wklejamy do "Loading Size".
Dla Db2020 wygląda to tak:
Screen od MiFa, dzięki - Naciskamy OK.
- Teraz czekamy jakiś czas w zależności od komputera.
-Na lapku z Intel Pentium Dual-Core 2GHz i 2GB ramu zajęło to około pół minuty (taki sam wynik na Vista jak i na XP na tym samym sprzęcie).
-XP z SP2 z jednym rdzeniem Intela 1.9 GHz i 512MB ramu otworzył main w około dwie minuty.
-XP bez SP, jeden rdzeń AMD Sempron 2200+ 1.5GHz, 896MB ram, otworzył main po pięciu minutach. - W okienku jakie pokaże IDA po załadowaniu pliku, klikamy OK. W kolejnym znowu klikamy OK.
- Klikamy "Options" > "General".
- W zakładce Disassembly w polu "Number of opcode bytes" wpisujemy 4.
- W zakładce "Analysis" klikamy "Processor specific analysis options".
- Upewniamy się, czy mamy zaznaczone "Disable pointer dereferencing". Jeśli nie mamy, to zaznaczamy. Klikamy OK.
- W tej samej zakładce klikamy "Reanalyze program" i klikamy OK.
- Teraz przechodzimy do "Options" > "Setup data types".
- Odznaczamy wszystkie opcje, po czym zaznaczamy tylko "3 Double Word". Klikamy Ok.