Devo avere IDA Pro per utilizzare lo strumento BinDiff?

Sto cercando di imparare a utilizzare lo strumento BinDiff , ma posso ” t capire come aprire due binari per fare il confronto. Mentre sfoglio il loro manuale, sembra che io abbia bisogno di IDA Pro per questo.

Posso usare BinDiff senza IDA Pro (diciamo, con solo IDA gratuito)?

Commenti

Risposta

Sì, ora è possibile con Ghidra.

Lultima versione, BinDiff 6 , ha il supporto sperimentale per il disassemblatore Ghidra. Viene fornito con unestensione che consente di esportare il disassemblaggio Ghidra nel formato .BinExport necessario per le differenze.

Software richiesto

Installazione dellestensione Ghidra

Dopo aver installato BinDiff, individua “BinExport” estensione nella cartella di installazione.

I valori predefiniti sono

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

Se hai individuato ghidra_BinExport.zip, lestensione può essere installata come qualsiasi altra estensione Ghidra:

  1. Avvia Ghidra, quindi seleziona File | Install Extensions....
  2. Fai clic sul pulsante + per Add extension.
  3. Nel Select Extension, accedi alla directory contenente ghidra_BinExport.zip.

  4. Seleziona il file .zip file e fai clic su OK

  5. Fai clic su OK per confermare e di nuovo per chiudere il messaggio di riavvio. Quindi riavvia Ghidra.

Utilizzo

Questa versione dellesportatore basato su Java per Ghidra ha le seguenti caratteristiche rispetto alla versione C ++ nativa per IDA Pro:

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

Verifica della versione di installazione

  1. In Ghidra, seleziona File | Install Extensions....
  2. Verifica che BinExport sia elencato e contenga il Install Path

Invocazione

  1. In Ghidra, apri un progetto o creane uno nuovo.
  2. Se non lo hai già fatto, apri il binario in cui esportare lo strumento Browser del codice ed eseguire lanalisi iniziale di Ghidra. Potresti voler abilitare lopzione “cercatore di istruzioni aggressivo” per ottenere una migliore copertura nellesportazione.
  3. Nella vista del progetto, fai clic con il pulsante destro del mouse sul binario per esporta e seleziona Export...
  4. Dallelenco a discesa, seleziona Binary BinExport (v2) for BinDiff
  5. Seleziona un percorso per il file di output. Può essere il nome del file originale, come .BinExport verrà aggiunto.
  6. Fare clic su OK.

BinDiff File esportati

I file esportati ora possono essere modificati e i risultati visualizzati nella sua interfaccia utente:

  1. Esporta due file binari seguendo le istruzioni sopra. I passaggi seguenti presuppongono primary.BinExport e secondary.BinExport.
  2. Dalla riga di comando, esegui il motore BinDiff con

    bindiff primary.BinExport secondary.BinExport 

    Questo creerà un file primary_vs_secondary.BinDiff nella directory corrente. Il comando bindiff dovrebbe essere nel percorso di sistema.

  3. Avvia linterfaccia utente di BinDiff, tramite bindiff --ui o utilizzando il programma di avvio per il tuo sistema operativo.

  4. Crea un nuovo spazio di lavoro o aprine uno esistente.

  5. Seleziona Diffs | Add Existing Diff....

  6. In Choose Diff, seleziona primary_vs_secondary.BinDiff creato al passaggio 2.

  7. Fai clic su OK, seguito da Add. Il diff è ora mostrato nella visualizzazione ad albero a sinistra e può essere aperto facendo doppio clic su di esso.

  8. Usa BinDiff normalmente per visualizzare il grafico delle chiamate o i grafici di flusso delle funzioni corrispondenti .

Open Source

Infine, lestensione BinExport (e anche il plugin IDA Pro) è open source e disponibile su GitHub . Il tag v11 corrisponde a BinDiff 6.

Commenti

  • Grazie. ' sarei così felice di sbarazzarmi della dipendenza da IDA Pro!

Risposta

Bindiff può essere un plugin in IDA o uno standalone, ma è comunque necessario il database IDA per confrontare i binari.

inserisci qui la descrizione dellimmagine

Commenti

  • Dubito che sarà in grado di aprire un .idb senza IDA installato
  • @ismael_akez: posso generare un file di database senza IDA?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *