Skal jeg have IDA Pro for at bruge BinDiff-værktøjet?

Jeg prøver at lære at bruge BinDiff værktøj, men jeg kan ” t finde ud af, hvordan man åbner to binære filer for at gøre sammenligningen. Mens jeg gennemgår manualen, ser det ud til at jeg har brug for IDA Pro til det.

Kan jeg bruge BinDiff uden IDA Pro (siger, med bare IDA gratis)?

Kommentarer

Svar

Ja, dette er nu muligt med Ghidra.

Den seneste version, BinDiff 6 , har eksperimentel støtte til Ghidra-demontereren. Den leveres med en udvidelse, der gør det muligt at eksportere Ghidra-adskillelse til .BinExport-formatet, der er nødvendigt til forskel.

Nødvendig software

Installation af Ghidra Extension

Efter installation af BinDiff skal du finde “BinExport” udvidelse i din installationsmappe.

Standardindstillingerne er

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

Hvis du har fundet ghidra_BinExport.zip fil, udvidelsen kan installeres som enhver anden Ghidra-udvidelse:

  1. Start Ghidra, og vælg derefter File | Install Extensions....
  2. Klik på + -knappen for at Add extension.
  3. I Select Extension dialog, naviger til den mappe, der indeholder ghidra_BinExport.zip.

  4. Vælg .zip fil, og klik på OK

  5. Klik på OK for at bekræfte og igen for at afvise genstartsmeddelelsen. Genstart derefter Ghidra.

Anvendelse

Denne version af den Java-baserede eksportør til Ghidra har følgende funktioner sammenlignet med den oprindelige C ++ -version til IDA Pro:

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

Bekræftelse af installationsversionen

  1. I Ghidra skal du vælge File | Install Extensions....
  2. Kontroller, at BinExport er angivet og har den korrekte Install Path

Invokation

  1. I Ghidra skal du åbne et projekt eller oprette et nyt.
  2. Hvis det ikke allerede er gjort, skal du åbne det binære program, der skal eksporteres i kodebrowserværktøjet og kør Ghidras indledende analyse. Du vil muligvis aktivere muligheden “aggressiv instruktionsfinder” for at få bedre dækning i eksporten.
  3. I projektvisningen skal du højreklikke på binæren for at eksporter og vælg Export...
  4. Vælg Binary BinExport (v2) for BinDiff
  5. på rullelisten en sti til outputfilen. Dette kan være det originale filnavn, som .BinExport tilføjes.
  6. Klik på OK.

BinDiff Eksporterede filer

Eksporterede filer kan nu adskilles, og resultaterne vises i dets brugergrænseflade:

  1. Eksporter to binære filer ved at følge instruktionerne ovenfor. Følgende trin antager primary.BinExport og secondary.BinExport.
  2. Fra kommandolinjen skal du køre BinDiff-motoren med

    bindiff primary.BinExport secondary.BinExport 

    Dette opretter en fil primary_vs_secondary.BinDiff i den aktuelle bibliotek. Kommandoen bindiff skal være i din systemsti.

  3. Start BinDiff UI, enten via bindiff --ui eller ved hjælp af startprogrammet til dit operativsystem.

  4. Opret et nyt arbejdsområde, eller åbn et eksisterende.

  5. Vælg Diffs | Add Existing Diff....

  6. Under Choose Diff, vælg primary_vs_secondary.BinDiff oprettet i trin 2.

  7. Klik OK efterfulgt af Add. Forskellen vises nu i trævisningen til venstre og kan åbnes ved at dobbeltklikke på den.

  8. Brug BinDiff normalt til at få vist opkaldsgrafen eller flowgraferne for matchede funktioner .

Open Source

Endelig er BinExport-udvidelsen (og også IDA Pro-plugin) open source og tilgængelig på GitHub . v11 tag svarer til BinDiff 6.

Kommentarer

  • Tak. Jeg ' Jeg er så glad for at slippe af med afhængigheden af IDA Pro!

Svar

Bindiff kan være et plugin i IDA eller en enkeltstående, men du har stadig brug for IDA-databasen for at sammenligne binære filer.

indtast billedebeskrivelse her

Kommentarer

  • Jeg tvivler på, at det vil være i stand til at åbne en .idb uden IDA installeret
  • @ismael_akez: kan jeg generere en databasefil uden IDA?

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *