Yritän oppia käyttämään BinDiff -työkalua, mutta osaan ” t selvittää kuinka avata kaksi binääriä vertailua varten. Selatessani heidän käsikirjaansa näyttää siltä, että minulla on oltava siihen IDA Pro.
Voinko käyttää BinDiffiä ilman IDA Prota (sanotaan vain ilman IDA: ta)?
Kommentit
- liittyvät: Vaihtoehdot BinDiffille reverseengineering.stackexchange.com/q/26196/3934 ?
Vastaa
Kyllä, tämä on nyt mahdollista Ghidran kanssa.
Uusin versio, BinDiff 6 , tukee kokeellisesti Ghidran purkajaa. Sen mukana toimitetaan laajennus, jonka avulla Ghidran purkaminen voidaan viedä diffiointiin tarvittavaan .BinExport-muotoon.
Vaadittu ohjelmisto
- BinDiff 6 kohteesta zynamics-verkkosivusto
- Viimeaikainen Java-ajonaikainen (OpenJDK 11 tai uudempi)
- Ghidra 9.1.2 ( https://ghidra-sre.org/releaseNotes_9.1.2.html )
Ghidra-laajennuksen asentaminen
Kun olet asentanut BinDiffin, etsi ”BinExport” laajennus asennuskansioon.
Oletusasetukset ovat
- Windows:
C:\Program Files\BinDiff\extra\ghidra
- Linux:
/opt/bindiff/extra/ghidra
- macOS:
/Applications/BinDiff/Extra/Ghidra
Jos olet löytänyt ghidra_BinExport.zip
-tiedosto, laajennus voidaan asentaa kuten mikä tahansa muu Ghidra-laajennus:
- Käynnistä Ghidra ja valitse sitten
File
|Install Extensions...
. - Napsauttamalla
+
-painiketta pääsetAdd extension
. -
Select Extension
-valintaikkuna, siirry hakemistoon, joka sisältääghidra_BinExport.zip
. -
Valitse .zip tiedosto ja napsauta
OK
- Vahvista napsauttamalla
OK
ja hylkää uudelleenkäynnistysviesti uudelleen. Käynnistä sitten Ghidra uudelleen.
Käyttö
Tällä Ghidran Java-pohjaisen viejän versiolla on seuraavat ominaisuudet verrattuna IDA Pron natiiviin C ++ -versioon:
| | Ghidra | IDA | | --------------------------------------- | ------ | --- | | Protocol Buffer based full export | ✓¹ | ✓ | | Statistics text file | - | ✓ | | Text format for debugging | - | ✓ | | BinNavi export into PostgreSQL database | - | ✓ | ¹ No operand trees
Asennusversion tarkistaminen
- Valitse Ghidrassa
File
|Install Extensions...
. - Varmista, että
BinExport
on luettelossa ja että sillä on oikeaInstall Path
Kutsu
- Ghidrassa avaa projekti tai luo uusi projekti.
- Jos sitä ei ole vielä tehty, avaa vietävä binääritiedosto Code Browser -työkalu ja suorita Ghidran alkuperäinen analyysi. Saatat haluta ottaa käyttöön ”aggressiivinen käskyjen etsintä” -vaihtoehdon saadaksesi paremman viennin kattavuuden.
- Napsauta projektinäkymässä binääriä hiiren kakkospainikkeella. vie ja valitse
Export...
- Valitse avattavasta luettelosta
Binary BinExport (v2) for BinDiff
- Valitse polku tulostetiedostolle. Tämä voi olla alkuperäinen tiedostonimi, koska
.BinExport
lisätään. - Napsauta
OK
.
BinDiff Viedyt tiedostot
Viedyt tiedostot voidaan nyt diffioida ja tulokset näkyä sen käyttöliittymässä:
- Vie kaksi binääriä yllä olevien ohjeiden mukaisesti. Seuraavissa vaiheissa oletetaan
primary.BinExport
jasecondary.BinExport
. -
Suorita BinDiff-moottori komentoriviltä kanssa
bindiff primary.BinExport secondary.BinExport
Tämä luo tiedoston
primary_vs_secondary.BinDiff
nykyiseen hakemistoon.bindiff
-komennon tulisi olla järjestelmäradallasi. -
Käynnistä BinDiff-käyttöliittymä joko
bindiff --ui
tai käyttöjärjestelmän käynnistysohjelman avulla. -
Luo uusi työtila tai avaa olemassa oleva.
-
Valitse
Diffs
|Add Existing Diff...
. -
Kohdassa
Choose Diff
, valitse vaiheessa 2 luotuprimary_vs_secondary.BinDiff
. -
Napsauta
OK
, jota seuraaAdd
. Ero näkyy nyt vasemmalla olevassa puunäkymässä, ja se voidaan avata kaksoisnapsauttamalla sitä. -
Käytä BinDiffiä normaalisti näyttääksesi vastaavien toimintojen kutsukaavion tai vuokaaviot .
avoimen lähdekoodin
lopuksi BinExport-laajennus (ja myös IDA Pro -laajennus) on avoimen lähdekoodin ja käytettävissä GitHubissa . v11
-tunniste vastaa BinDiff 6 -tunnistetta.
Kommentit
- Kiitos. Olen ' iloinen voidessani päästä eroon riippuvuudesta IDA Prosta!