Trebuie să am IDA Pro pentru a utiliza instrumentul BinDiff?

Încerc să învăț cum să folosesc instrumentul BinDiff , dar pot ” Descoperiți cum să deschideți două binare pentru a face comparația. În timp ce parcurg manualul lor, se pare că trebuie să am IDA Pro pentru asta.

Pot folosi BinDiff fără IDA Pro (să zicem, doar cu IDA gratuit)?

Comentarii

Răspuns

Da, acest lucru este acum posibil cu Ghidra.

Cea mai recentă versiune, BinDiff 6 , are suport experimental pentru dezasamblatorul Ghidra. Se livrează cu o extensie care permite exportul dezasamblării Ghidra în formatul .BinExport necesar pentru diferențiere.

Software necesar

Instalarea extensiei Ghidra

După instalarea BinDiff, localizați „BinExport” extensie în folderul dvs. de instalare.

Valorile implicite sunt

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

Dacă ați localizat ghidra_BinExport.zip, extensia poate fi instalată ca orice altă extensie Ghidra:

  1. Porniți Ghidra, apoi selectați File | Install Extensions....
  2. Faceți clic pe butonul + pentru a Add extension.
  3. În Select Extension, navigați la directorul care conține ghidra_BinExport.zip.

  4. Selectați .zip fișier și faceți clic pe OK

  5. Faceți clic pe OK pentru a confirma și din nou pentru a închide mesajul de repornire. Apoi reporniți Ghidra.

Utilizare

Această versiune a exportatorului bazat pe Java pentru Ghidra are următoarele caracteristici în comparație cu versiunea nativă C ++ pentru IDA Pro:

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

Verificarea versiunii de instalare

  1. În Ghidra, selectați File | Install Extensions....
  2. Verificați dacă BinExport este listat și are Install Path

Invocare

  1. În Ghidra, deschideți un proiect sau creați unul nou.
  2. Dacă nu este deja realizat, deschideți binarul pentru a exporta în instrumentul Code Browser și rulați analiza inițială a lui Ghidra. Poate doriți să activați opțiunea „Căutare instrucțiuni agresive” pentru a obține o acoperire mai bună la export.
  3. În vizualizarea proiectului, faceți clic dreapta pe binar pentru a exportați și selectați Export...
  4. Din lista derulantă, selectați Binary BinExport (v2) for BinDiff
  5. Selectați o cale pentru fișierul de ieșire. Acesta poate fi numele de fișier original, deoarece .BinExport va fi adăugat.
  6. Faceți clic pe OK.

BinDiff Fișiere exportate

Fișierele exportate pot fi acum diferați și rezultatele afișate în interfața sa de utilizare:

  1. Exportați două binare urmând instrucțiunile de mai sus. Următorii pași presupun primary.BinExport și secondary.BinExport.
  2. Din linia de comandă, rulați motorul BinDiff cu

    bindiff primary.BinExport secondary.BinExport 

    Aceasta va crea un fișier primary_vs_secondary.BinDiff în directorul curent. Comanda bindiff ar trebui să fie în calea sistemului dvs.

  3. Lansați interfața de utilizare BinDiff, fie prin bindiff --ui sau folosind lansatorul pentru sistemul dvs. de operare.

  4. Creați un spațiu de lucru nou sau deschideți unul existent.

  5. Selectați Diffs | Add Existing Diff....

  6. Sub Choose Diff, selectați primary_vs_secondary.BinDiff creat la pasul 2.

  7. Faceți clic pe OK, urmat de Add. Diferența este acum afișată în vizualizarea arborescentă din stânga și poate fi deschisă făcând dublu clic pe ea.

  8. Utilizați în mod normal BinDiff pentru a afișa graficul apelurilor sau graficele de flux ale funcțiilor potrivite .

Open Source

În cele din urmă, extensia BinExport (și, de asemenea, pluginul IDA Pro) este open source și disponibilă pe GitHub . Eticheta v11 corespunde BinDiff 6.

Comentarii

  • Vă mulțumim. ' aș fi atât de bucuros să scap de dependența de IDA Pro!

Răspunde

Bindiff poate fi un plugin în IDA sau independent, dar aveți nevoie de baza de date IDA pentru a compara binare.

introduceți descrierea imaginii aici

Comentarii

  • Mă îndoiesc că va putea deschide un .idb fără IDA instalat
  • @ismael_akez: pot genera un fișier de bază de date fără IDA?

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *