Må jeg ha IDA Pro for å bruke BinDiff-verktøyet?

Jeg prøver å lære å bruke BinDiff verktøy, men jeg kan » t finne ut hvordan du åpner to binærfiler for å gjøre sammenligningen. Mens jeg blar gjennom manualen deres, virker det som om jeg trenger å ha IDA Pro for det.

Kan jeg bruke BinDiff uten IDA Pro (si, med bare IDA gratis)?

Kommentarer

Svar

Ja, dette er nå mulig med Ghidra.

Den siste versjonen, BinDiff 6 , har eksperimentell støtte for Ghidra-demonteren. Den leveres med en utvidelse som gjør det mulig å eksportere Ghidra-demontering til .BinExport-formatet som trengs for å skille.

Nødvendig programvare

Installere Ghidra Extension

Etter installasjon av BinDiff, finn «BinExport» utvidelse i installasjonsmappen.

Standardinnstillingene er

  • Windows: C:\Program Files\BinDiff\extra\ghidra
  • Linux: /opt/bindiff/extra/ghidra
  • macOS: /Applications/BinDiff/Extra/Ghidra

Hvis du har funnet ghidra_BinExport.zip -fil, utvidelsen kan installeres som alle andre Ghidra-utvidelser:

  1. Start Ghidra, og velg deretter File | Install Extensions....
  2. Klikk + -knappen for å Add extension.
  3. I Select Extension dialog, naviger til katalogen som inneholder ghidra_BinExport.zip.

  4. Velg .zip filen og klikk OK

  5. Klikk OK for å bekrefte og igjen for å avvise omstartsmeldingen. Start deretter Ghidra på nytt.

Bruk

Denne versjonen av den Java-baserte eksportøren for Ghidra har følgende funksjoner sammenlignet med den opprinnelige C ++ -versjonen for IDA Pro:

| | Ghidra | IDA | | --------------------------------------- | ------ | --- | | Protocol Buffer based full export | ✓¹ | ✓ | | Statistics text file | - | ✓ | | Text format for debugging | - | ✓ | | BinNavi export into PostgreSQL database | - | ✓ | ¹ No operand trees 

Bekrefte installasjonsversjonen

  1. I Ghidra velger du File | Install Extensions....
  2. Bekreft at BinExport er oppført og har riktig Install Path

Påkallelse

  1. I Ghidra åpner du et prosjekt eller oppretter et nytt.
  2. Hvis det ikke allerede er gjort, åpner du binæren du vil eksportere i Kodebrowser-verktøyet og kjør Ghidras første analyse. Det kan være lurt å aktivere alternativet «aggressiv instruksjonsfinner» for å få bedre dekning i eksporten.
  3. I prosjektvisningen høyreklikker du binæren for å eksporter og velg Export...
  4. Fra rullegardinlisten velger du Binary BinExport (v2) for BinDiff
  5. Velg en bane for utdatafilen. Dette kan være det originale filnavnet, som .BinExport blir lagt til.
  6. Klikk OK.

BinDiff Eksporterte filer

Eksporterte filer kan nå skilles ut og resultatene vises i brukergrensesnittet:

  1. Eksporter to binære filer ved å følge instruksjonene ovenfor. Følgende trinn antar primary.BinExport og secondary.BinExport.
  2. Fra kommandolinjen, kjør BinDiff-motoren med

    bindiff primary.BinExport secondary.BinExport 

    Dette vil opprette en fil primary_vs_secondary.BinDiff i gjeldende katalog. bindiff -kommandoen skal være i systemstien din.

  3. Start BinDiff UI, enten via bindiff --ui eller ved å bruke startprogrammet for operativsystemet ditt.

  4. Opprett et nytt arbeidsområde eller åpne et eksisterende.

  5. Velg Diffs | Add Existing Diff....

  6. Under Choose Diff, velg primary_vs_secondary.BinDiff opprettet i trinn 2.

  7. Klikk OK, etterfulgt av Add. Forskjellen vises nå i trevisningen til venstre og kan åpnes ved å dobbeltklikke på den.

  8. Bruk BinDiff normalt til å vise anropsgrafen eller flytegrafer for samsvarende funksjoner .

Åpen kildekode

Til slutt er BinExport-utvidelsen (og også IDA Pro-plugin) åpen kildekode og tilgjengelig på GitHub . v11 -taggen tilsvarer BinDiff 6.

Kommentarer

  • Takk. Jeg ' Jeg er så glad for å bli kvitt avhengigheten av IDA Pro!

Svar

Bindiff kan være et plugin i IDA eller en frittstående, men du trenger fortsatt IDA-databasen for å sammenligne binærfiler.

skriv inn bildebeskrivelse her

Kommentarer

  • Jeg tviler på at den vil kunne åpne en .idb uten IDA installert
  • @ismael_akez: kan jeg generere en databasefil uten IDA?

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *