Kérdés:
C ++ interfész metódusnevek kitöltése az IDA szétszerelésében
Asaf
2013-08-05 01:38:10 UTC
view on stackexchange narkive permalink

C ++ fejlécem van interfészekkel (az összes metódust tiszta virtuális osztályokkal). Van egy bináris fájlom is, amely mutatókat ad vissza ezekre az interfészekre. Futtatás közben hibakeresést végeztem, és megkaptam a virtuális tábla címét ezeknek az interfészeknek a megvalósításához.

Van-e mód arra, hogy elmondja az IDA Pro-nak, hogy a vtable egy adott címen található, és megadja neki a fejlécfájlokat, és hagyja, hogy az összes metódust megjelölje a vtable-ben, és ennek megfelelően nevezze el őket? Sok interfész és egy sok módszer.

Ezt láttam: a C ++ bináris fájlok statikus elemzése, de ez nem válaszol az automatikus elnevezés kérdésére.

az ingyenes 5.0 verzió használatával.

Vannak IDC szkriptek és bővítmények az RTTI és a vtable kezeléséhez az IDA Palace-on és más helyeken (OpenRCE).
Úgy tűnik, hogy az @0xC0000022L OpenRCE nem működik
@heinrich5991: Ja, így Pedram tulajdonképpen leszedte. Felveszi a kapcsolatot vele.
@heinrich5991 IDA parancsfájlok az OpenRCE-n: http://www.openrce.org/downloads/browse/IDA_Scripts
@0xC0000022L Vannak beépülő modulok az általános (azaz manuális) vtable kezeléshez?
Egy válasz:
Sirmabus
2013-08-30 00:16:10 UTC
view on stackexchange narkive permalink

Ha magában a bináris fájlban van összeállítva az RTTI információ, akkor megkapja legalább a vftable nevét, és bizonyos mértékben osztály / struktúra hierarchiát is. Windows x86 esetén használhatja az én IDA plug-inemet " Osztályinformátor ". Lásd még az igorsk A Microsoft Visual C ++ II. Rész: Osztályok, módszerek és RTTI megfordítása című részét.

Egyébként az AFAIK (és jól ismeri a területet) Kétlem, hogy létezik olyan plug-in, amely megteheti, amit akar. Bár az IDA-ban léteznek struktúrák, a C ++ osztályok nem. A C ++ nem része közvetlenül az IDA világának. Ez inkább egy adott nyelv területén, egy a sok közül, míg az IDA az összeállítás és a bájt kód tartományairól szól; a HexRays decompiler plug-in kivételével, amely valamilyen C / C ++ dolgot ad a tetejére.

Biztosan összekapcsolhatja a tényleges bináris címet egy adott C ++ módszerrel, és, vagy, vagy vftable et al?

Mindenesetre valószínűleg be kell írnia saját plug-injét és, vagy szkriptjeit, hogy azt tegye, amit akar.

Úgy tűnik, hogy webhelye nem működik.


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...