Megpróbálom megtanulni, hogyan kell használni a BinDiff eszközt, de tudom ” t találja ki, hogyan lehet két bináris fájlt megnyitni az összehasonlításhoz. Miközben átnézem a kézikönyvet, úgy tűnik, ehhez IDA Pro-ra van szükségem.
Használhatom a BinDiff-et IDA Pro nélkül (mondjuk csak ingyenes IDA-val)?
Hozzászólások
- kapcsolódó: A BinDiff alternatívái reverseengineering.stackexchange.com/q/26196/3934 ?
Válasz
Igen, ez most Ghidrával lehetséges.
A legújabb verzió, a BinDiff 6 kísérleti támogatást nyújt a Ghidra szétszerelőhöz. Egy olyan kiterjesztéssel érkezik, amely lehetővé teszi a Ghidra szétszerelésének a diffikáláshoz szükséges .BinExport formátumba történő exportálását. >
zynamics webhely
A Ghidra kiterjesztés telepítése
A BinDiff telepítése után keresse meg a “BinExport” kiterjesztés a telepítési mappában.
Az alapértelmezett értékek:
- Windows:
C:\Program Files\BinDiff\extra\ghidra
- Linux:
/opt/bindiff/extra/ghidra
- macOS:
/Applications/BinDiff/Extra/Ghidra
Ha megtalálta a ghidra_BinExport.zip
fájl, a kiterjesztés ugyanúgy telepíthető, mint bármely más Ghidra kiterjesztés:
- Indítsa el a Ghidra alkalmazást, majd válassza a
File
lehetőséget. |Install Extensions...
. - Kattintson a
+
gombra aAdd extension
eléréséhez. -
A
Select Extension
párbeszédpanelen lépjen aghidra_BinExport.zip
könyvtárba. -
Válassza ki a .zip fájlt, és kattintson a
OK
- Kattintson a
OK
gombra a megerősítéshez, majd az újbóli elvetés elvetéséhez. Ezután indítsa újra a Ghidrát.
Használat
A Ghidra Java-alapú exportőrének ez a verziója az IDA Pro natív C ++ verziójához képest a következő tulajdonságokkal rendelkezik:
| | Ghidra | IDA | | --------------------------------------- | ------ | --- | | Protocol Buffer based full export | ✓¹ | ✓ | | Statistics text file | - | ✓ | | Text format for debugging | - | ✓ | | BinNavi export into PostgreSQL database | - | ✓ | ¹ No operand trees
A telepítési verzió ellenőrzése
- A Ghidrában válassza a
File
|Install Extensions...
. - Ellenőrizze, hogy az
BinExport
szerepel-e a listában, és megfelelő-e aInstall Path
Meghívás
- Ghidrában nyisson meg egy projektet, vagy hozzon létre egy újat.
- Ha még nem tette meg, nyissa meg az exportálandó bináris fájlt a Code Browser eszközt, és futtassa a Ghidra kezdeti elemzését. Engedélyezheti az “agresszív utasításkereső” opciót az export jobb lefedettségének érdekében.
- A projektnézetben kattintson a jobb gombbal a bináris fájlra exportálás és válassza a
Export...
- legördülő listából válassza a
Binary BinExport (v2) for BinDiff
- kijelölést a kimeneti fájl elérési útja. Ez lehet az eredeti fájlnév, mivel a
.BinExport
mellékletet kapja. - Kattintson a
OK
gombra.
BinDiff Exportált fájlok
Az exportált fájlok mostantól eltérhetnek, és az eredmények megjelenhetnek a kezelőfelületén:
- Két bináris fájl exportálása a fenti utasítások betartásával. A következő lépések feltételezik
primary.BinExport
éssecondary.BinExport
feltételezését. -
A parancssorból futtassa a BinDiff motort a következővel:
bindiff primary.BinExport secondary.BinExport
Ez létrehoz egy fájlt
primary_vs_secondary.BinDiff
az aktuális könyvtárban. Abindiff
parancsnak a rendszer elérési útjában kell lennie. -
Indítsa el a BinDiff kezelőfelületet, akár a
bindiff --ui
vagy az indítót használja az operációs rendszeréhez. -
Hozzon létre új munkaterületet, vagy nyisson meg egy meglévőet.
-
Válassza a
Diffs
|Add Existing Diff...
lehetőséget. -
, válassza ki a 2. lépésben létrehozott
primary_vs_secondary.BinDiff
elemet. -
Kattintson a
OK
, majdAdd
. A diff most a bal oldali fa nézetben jelenik meg, és duplán kattintva megnyitható. -
A BinDiff használatával általában megadhatja az összehangolt függvények hívási grafikonját vagy folyamatábráit. .
Nyílt forráskód
Végül a BinExport kiterjesztés (és az IDA Pro bővítmény is) nyílt forráskódú és elérhető a GitHubon . A v11
címke a BinDiff 6-nak felel meg.
Megjegyzések
- Köszönöm. <
nagyon örülnék, ha megszabadulnék az IDA Pro függésétől!