Snažím se naučit používat nástroj BinDiff , ale můžu “ Přišel na to, jak otevřít dva binární soubory pro provedení srovnání. Při procházení jejich manuálu se zdá, že k tomu potřebuji mít IDA Pro.
Mohu použít BinDiff bez IDA Pro (řekněme jen s IDA zdarma)?
Komentáře
- související: Alternativy k BinDiff reverseengineering.stackexchange.com/q/26196/3934 ?
Odpověď
Ano, u Ghidry je to nyní možné.
Nejnovější verze, BinDiff 6 , má experimentální podporu pro demontéra Ghidry. Dodává se s příponou, která umožňuje exportovat demontáž Ghidry do formátu .BinExport potřebného pro diffing.
Požadovaný software
- BinDiff 6 z web zynamics
- Nedávný běh prostředí Java (OpenJDK 11 nebo novější)
- Ghidra 9.1.2 ( https://ghidra-sre.org/releaseNotes_9.1.2.html )
Instalace rozšíření Ghidra
Po instalaci BinDiff vyhledejte „BinExport“ rozšíření ve vaší instalační složce.
Výchozí nastavení jsou
- Windows:
C:\Program Files\BinDiff\extra\ghidra - Linux:
/opt/bindiff/extra/ghidra - macOS:
/Applications/BinDiff/Extra/Ghidra
Pokud jste našli ghidra_BinExport.zip souboru, rozšíření lze nainstalovat jako jakékoli jiné rozšíření Ghidra:
- Spusťte Ghidru a poté vyberte
File|Install Extensions.... - Kliknutím na tlačítko
+přejděte naAdd extension. -
V
Select Extensiondialog, přejděte do adresáře obsahujícíhoghidra_BinExport.zip. -
Vyberte soubor .zip soubor a klikněte na
OK - Kliknutím na
OKpotvrďte a znovu zavřete zprávu o restartu. Poté restartujte Ghidru.
Použití
Tato verze exportéru založeného na Javě pro Ghidru má ve srovnání s nativní verzí C ++ pro IDA Pro následující funkce:
| | Ghidra | IDA | | --------------------------------------- | ------ | --- | | Protocol Buffer based full export | ✓¹ | ✓ | | Statistics text file | - | ✓ | | Text format for debugging | - | ✓ | | BinNavi export into PostgreSQL database | - | ✓ | ¹ No operand trees
Ověření verze instalace
- V Ghidře vyberte
File|Install Extensions.... - Ověřte, zda je
BinExportuveden a má správnýInstall Path
Vyvolání
- V Ghidře otevřete projekt nebo vytvořte nový.
- Pokud to ještě není hotové, otevřete binární soubor, do kterého chcete exportovat nástroj Prohlížeč kódu a spusťte počáteční analýzu Ghidry. Možná budete chtít povolit možnost „agresivní vyhledávač instrukcí“, abyste získali lepší pokrytí exportu.
- V zobrazení projektu klepněte pravým tlačítkem na binární exportovat a vybrat
Export... - z rozevíracího seznamu vyberte
Binary BinExport (v2) for BinDiff - vybrat cesta k výstupnímu souboru. Může to být původní název souboru, protože
.BinExportbude přidán. - Klikněte na
OK.
BinDiff Exportované soubory
Exportované soubory lze nyní diferencovat a výsledky zobrazit v jejich uživatelském rozhraní:
- Podle výše uvedených pokynů exportujte dva binární soubory. Následující kroky předpokládají
primary.BinExportasecondary.BinExport. -
Z příkazového řádku spusťte stroj BinDiff s
bindiff primary.BinExport secondary.BinExportTím se vytvoří soubor
primary_vs_secondary.BinDiffv aktuálním adresáři. Příkazbindiffby měl být ve vaší systémové cestě. -
Spusťte uživatelské rozhraní BinDiff buď pomocí
bindiff --uinebo pomocí spouštěče pro váš operační systém. -
Vytvořte nový pracovní prostor nebo otevřete existující.
-
Vyberte
Diffs|Add Existing Diff.... -
Pod
Choose Diff, vyberteprimary_vs_secondary.BinDiffvytvořený v kroku 2. -
Klikněte na
OK, následovanýAdd. Rozdíl je nyní zobrazen ve stromovém zobrazení vlevo a lze jej otevřít poklepáním. -
K zobrazení grafu volání nebo vývojových grafů spárovaných funkcí běžně použijte BinDiff. .
Open Source
Nakonec je rozšíření BinExport (a také plugin IDA Pro) otevřeným zdrojem a je k dispozici na GitHubu . Značka v11 odpovídá BinDiff 6.
Komentáře
- Děkuji. ' Rád bych se zbavil závislosti na IDA Pro!