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
OKja 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ä
BinExporton 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
.BinExportlisä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.BinExportjasecondary.BinExport. -
Suorita BinDiff-moottori komentoriviltä kanssa
bindiff primary.BinExport secondary.BinExportTämä luo tiedoston
primary_vs_secondary.BinDiffnykyiseen hakemistoon.bindiff-komennon tulisi olla järjestelmäradallasi. -
Käynnistä BinDiff-käyttöliittymä joko
bindiff --uitai 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!