Decompiler hex-sugarak - gyors indítás

Kezdjük egy nagyon rövid és egyszerű függvény:

Mi visszafordítani azt a végrehajtó a Nézet menü parancs, Open subviews, pszeudókód (eng View, Open View, ál-kódot.) (Billentyű F5):

Mivel a szükséges generált C-kód, egy ilyen eredmény nem szép. A szövegben van egy csomó öntött műveletek, ami őt egy káosz. Ennek oka az, hogy ez egy átmeneti, nem tartották be a decompiler helyreállítási típusok. Nyilvánvaló, hogy az A1 paraméter pont egy szerkezet, de hiányzott a decompiler. Adjunk hozzá valamilyen információt az adatbázisba, és meglátjuk, mi történik. Ahhoz, hogy ezt elérjük, akkor nyissa meg a Structure ablakot 1 (rus szerkezet.) (Shift-F9), és egy új típusú - a szerkezet:

Ezt követően, akkor váltani egy ál ablakot, és adja meg, milyen a1. Ezt megtehetjük úgy, hogy a kurzort bármely előfordulása a1 és préselés Y.

Ha rákattintunk az Enter billentyűt. következtetés decompiler lesz sokkal jobb:

De mit javítani még mindig léteznek. Mi lehet átnevezni a pályáról, és állapítsa meg típusai. Például, field_6B1. Úgy tűnik, hogy lehet használni, mint egy számlálót, és field_6B5 - nyilvánvalóan függvénymutatóval. Meg tudjuk csinálni mindezt anélkül, hogy az ablakok közötti váltáshoz. Structure 2 csak kell egy ablak a kezdeti szerkezet meghatározás. Ez hogyan definiáljuk a mező típusát a függvény pointer:

A végső eredmény a következő:

Felhívjuk figyelmét, hogy a szöveg már nem öntött műveleteket, és sokkal jobban néz ki, mint az eredeti változat.

1. A jelenlegi változat IDA kell kapcsolni a nézetet forráskódot assembly nyelven, mielőtt kinyitná a Structure ablakot (Rus. Structure), egyébként van egy access violation.
2. Nem igaz. Sőt, tudjuk be a teljes meghatározás a szerkezet a Típus párbeszédablakban, de ez gondot, mert egy egysoros beviteli mezőt. Azt is meghatározza az új típusú parancsok segítségével Fájl Fájl betöltése, Feldolgozási C header fájlt (Rus. Fájlfeltöltési fájl Feldolgozási header file C).

Kapcsolódó cikkek