Jump to content


Photo

Otwieranie MAINa w IDA (Disassembling)


  • Please log in to reply
No replies to this topic

#1 OFFLINE   mc_kibel

mc_kibel

    Proud Member of Sony.yt Community

  • User
  • 26 posts
    • Time Online: 1h 1m

Posted 28 October 2011 - 20:58

Stworzenie pliku RAW z maina

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
5. Klikamy Otwórz.
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:
    Posted Image
    Screen od MiFa, dzięki Posted Image
  • 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.
10. Main już w sumie otwarty i zdisassemblowany. Pozostaje teraz tylko powprowadzać pewne ustawienia:
  • 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.
11. No i to będzie na tyle, main został otwarty.
  • 0
Sony Ericsson X8 || GingerDX v017 Android 2.3.7 || Sense Theme


1 user(s) are reading this topic