Dissassembleri softa

Lähetä vastaus

Hymiöt
:D :) :;): :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :tyhmamina: :baaa: :bike: :blues: :pomppu: :bowdown: :thumbup:
Katso lisää hymiöitä

BBCode on Käytössä
[img] on käytössä
[url] on käytössä
Hymiöt ovat käytössä

Otsikko
   

Laajenna näkymää Otsikko: Dissassembleri softa

Kirjoittaja PetriK » 05 Marras 2007, 08:29

ok,

Katsoin tuota EVO:n koodia ja se näyttää ihan koodilta. Muutamat ensimmäiset .long määrittelyt kertovat mihin hypätään erilaisissa keskeytyksissä (aivan kuten sofware ja hardware manuaaleissa kuvataan).

Sitten kun lähtee katsomaan ko muistiosoitteesta niin sieltä lähtee koodi nätisti liikkeelle...

Nyt täytyisi ymmärtää tuo osoitteen muodostuminen sekä erityisesti IO puoli. Kaikki IO pinnit ovat tässä samat kuin busassa, samoin pitäisi bootloader olla aikalailla samanlainen jossa pitäisi näkyä sarjaprotokollaa...

Tässä mallia miltä koodi näillä mun asetuksilla alkoi näyttämään. Eli resetin jälkeen siirtyy muistialueelle EB9 suorittamaan tällaista koodinpätkää - täytyy tunnustaa että on taas aivan uudennäköistä koodia, tästä ei ainakaan näin alkuun ymmärrä yhtään mitään. Esim jo pelkästään jmp @r0 ?


eB9:000098CC EntryAfterReset: ! CODE XREF: eB9:000098B8j
eB9:000098CC mov.l @(8,pc), r0 ! [000098D8] = unk_F0
eB9:000098CE ldc.l @r0+, sr
eB9:000098D0 mov.l @(8,pc), r0 ! [000098DC] = loc_98A4
eB9:000098D2 jmp @r0 ! loc_98A4
eB9:000098D4 nop


eB9:000098A4 loc_98A4: ! CODE XREF: eB9:000098D2j
eB9:000098A4 ! DATA XREF: eB9:off_98DCo
eB9:000098A4 mov.l @(0x14,pc), r15 ! [000098BC] = (dword_FFFF8800+0x1300)
eB9:000098A6 mov.l @(0x18,pc), r0
eB9:000098A8 mov.l @(0x18,pc), r1 ! [000098C4] = (dword_FFFF8800+0x13A0)
eB9:000098AA mov.l r1, @r0
eB9:000098AC mov #0, r0
eB9:000098AE ldc r0, vbr
eB9:000098B0 ldc r0, gbr
eB9:000098B2 mov.l @(0x14,pc), r0 ! [000098C8] = sub_E8BC
eB9:000098B4 jsr @r0 ! sub_E8BC
eB9:000098B6 nop
eB9:000098B8 bra EntryAfterReset
eB9:000098BA nop

Kirjoittaja PetriK » 04 Marras 2007, 21:00

Ainakin tämä 02_LANCER_EVO7_GSR_EDM_88840013 näyttäisi lähtevän kääntymään IdaPro:Lla. Ensimmäisissä byteissä nähtävästi määritellään jotain data ja koodialueita koska siellä olevia osoitteita ei pystytty kääntämään koodiksi.

Täytyy tutustua prosessorin ohjeisiin ja katsoa mitä tuolla vektoreita alussa on jotta pystyy katsomaan mistä mahdollisesti bootloaderia voisi lähteä etsimään.

Options - General - SH4 big endian oli asetukset.

Alt+C kääntää blokin kerrallaan.

Kirjoittaja PetriK » 04 Marras 2007, 14:40

busajasa kirjoitti:IDAssa ei ollut SH-2 kantaa mutta googlettamalla löytyi että on alaspäin yhteensopiva ja SH-4 versiota voi käyttää.

Pitää vielä selvittää likuluku kuviot sillä ilm. kaikissa Hitachi prossissa ei ole liukuluku käsittelyä ja voi aiheutaa disassembloinnissa pikku heittoa. Mutta SH-4:llä pääsee riittävään tarkkuuteen - kuulemma ;-)

OK, eli dissassemblointi onnistuu - tässä on linkki mitsubishin SH7052 prossun ECU:lle kirjoitettuun koodiin. IO ja ohjelman toimintalogiikka on varmasti aivan erilainen kuin mitä meillä Suzukeissa, mutta bootloader:ista saattaisi löytyä jotain mielenkiintoista. Saisi ainakin testattua tuon debuggausympäristön busan koodia odottaessa...

http://macmadigan.no-ip.com/BusaECU....ata.zip

ja tässä toinen paketti jonka pitäisi olla 7052... 7055 koodia (koska ovat EVO5,6,7 malleista. EVO 7 pitäisi olla 7052.

http://macmadigan.no-ip.com/BusaECU....007.rar




Edited By PetriK on 1194180711

Kirjoittaja busajasa » 30 Loka 2007, 22:17

IDAssa ei ollut SH-2 kantaa mutta googlettamalla löytyi että on alaspäin yhteensopiva ja SH-4 versiota voi käyttää.

Pitää vielä selvittää likuluku kuviot sillä ilm. kaikissa Hitachi prossissa ei ole liukuluku käsittelyä ja voi aiheutaa disassembloinnissa pikku heittoa. Mutta SH-4:llä pääsee riittävään tarkkuuteen - kuulemma ;-)

Kirjoittaja PetriK » 30 Loka 2007, 08:17

Meillä ei ole vielä käytössä 32bit ecun .bin tiedostoa, kannattaa käyttää opetteluun tuota 1999 koodia josta yllä. Portit ja logiikka tuskin oleellisesti ovat muuttuneet.

7052 on SH-2 prosessori, tämän prosessoriperheen sisällä käskykannan pitäisi olla aikalailla yhteneväinen.

Kirjoittaja busajasa » 30 Loka 2007, 08:11

IDAssa ei ollut suoraan 7052 konrtolleria - onko jo tiedossa mitä versiota voi käyttää jotta tulee riittävän lähelle? En käynyt koko prosalistaa läpi enkä aamusta vielä ehtinyt googlettamaan..



Edited By busajasa on 1193724676

Kirjoittaja PetriK » 30 Loka 2007, 07:47

;-)

Eli busajakawakartat hakemistoon. Lataat busa001.zip:n tai suoraan .bin tiedoston aj sitten ei muuta kuin IdaPro auki, prosessorin tyypiksi MC68HC16 ja muut asetukst defaulttina ajat sisään. Pitäisi näyttää samalta kuin .htm.

Sitten lopuksi lataat .idc tiedoston sisään joka sisältää funktioiden nimeämisen ja enum datan ja sulla on 1999 busan koodi...

Siitä sitten tutkimaan:
- assembler ikkunaa
- functions ikkunaa
- enum ikkunaa jossa on prosessorin pinnat assignattu eri portteihin




Edited By PetriK on 1193723522

Kirjoittaja busajasa » 30 Loka 2007, 06:19

Himppasen p2p:tä ja kas sehän IDA PRo Advanced pyörähti levylle :D ja on saman cracklabin kuin tuo softa-arkiston versiokin.



Edited By busajasa on 1193718047

Kirjoittaja PetriK » 29 Loka 2007, 23:42

voi löytyä myös juuri perustetulta salasanasuojatulta alueelta.

Kirjoittaja busajasa » 29 Loka 2007, 23:35

mut mut - tunteeko 32 bittistä käskykantaa ja osaako HS7052 prosan erikoisuuksia? Toisin sanoen mihin muotoon tuo purkaa konekoodin - oikeaksi assebleriksi vai pseudokoodiksi? Itsellä ei kokemusta siksi kysyn.

EDIT: pikku googletuksella - joo: IDA Pro will be able to decompile both of them (SH7052/SH7055). I have IDA Pro, HEW, Hitachi C-compiler and emulators and debuggers for these processors...

Eli etsimään tuota proggista....




Edited By busajasa on 1193693992

Kirjoittaja PetriK » 29 Loka 2007, 22:37

Dissassemblerina on toistaiseksi käytetty idapro:ta. Se on ohjelmisto johon toimivan version saattaa löytää joltain piraattisaitilta seuraavilla hakusanoilla:

Googlettamalla IDA Pro 5.0.0.879

valitettavasti en muista miten omani löysin, mutta pienellä vaivalla se löytyy ja tähän voi postata mistä se löytyi.

IdaPro tarvitaan jotta ECUn kooditiedostot ovat luettavissa. Postaan kooditiedostot ja ohjeet tänne kun ensimmäinen kiinnostunut on saanut idapron: koneelleen.

Ylös