Instalační příručka Ghidra
Průvodce instalací Ghidra
Poskytnuté informace o instalaci jsou platné od Ghidra 11.1.2 a mohou se změnit
budoucí vydání.
Podporované platformy
- Windows 10 nebo novější (64bitová verze)
- Linux (64bitový)
- macOS 10.13 nebo novější
POZNÁMKA: Všechny instalace 32bitového OS jsou nyní zastaralé. Kontaktujte prosím
Tým Ghidra, pokud máte konkrétní potřebu.
Minimální požadavky
Hardware
- 4 GB RAM
- 1 GB úložiště (pro nainstalované binární soubory Ghidra)
- Důrazně doporučujeme duální monitory
Software
- Java 17 64bit Runtime and Development Kit (JDK) (viz Java Notes)
- Verze bezplatné dlouhodobé podpory (LTS) JDK 17 jsou poskytovány:
- Python3 (3.7 až 3.12; pro podporu Debuggeru)
- Toto je dostupné z Python.org nebo většiny operačních systémů
obchody s aplikacemi nebo softwarová úložiště. Pro Linux se doporučuje balíček systému
úložiště použít k instalaci vhodné verze Pythonu.
(Zpět na začátek)
Instalace Ghidra
Chcete-li nainstalovat Ghidra, jednoduše extrahujte distribuční soubor Ghidra do požadovaného souborového systému
cíl pomocí libovolného rozbalovacího programu (vestavěné nástroje OS, 7-Zip, WinZip, WinRAR atd.)
Poznámky k instalaci
-
Ghidra nepoužívá tradiční instalační program. Místo toho je distribuční soubor Ghidra
jednoduše extrahováno na místě v souborovém systému. Tento přístup má výhody i nevýhody.
Na druhou stranu, k instalaci Ghidra pro osobní použití není vyžadováno oprávnění správce.
Také proto, že instalace Ghidra neaktualizuje žádné konfigurace OS, jako je registr
Windows, odstranění Ghidra je stejně jednoduché jako odstranění instalačního adresáře Ghidra. na
dole, Ghidra automaticky nevytvoří zástupce na ploše ani se nezobrazí
nabídky spouštění aplikací.
-
K extrahování Ghidry do určitých destinací souborového systému může být vyžadováno oprávnění správce
(například C:\), a také nainstalovat Ghidra Server jako službu.
-
Ghidra spoléhá na to, že ke správě obojího používá adresáře mimo svůj instalační adresář
dočasné a dlouhodobější soubory mezipaměti. Ghidra se pokouší použít standardní adresáře OS, které
jsou navrženy pro tyto účely, aby se předešlo několika problémům, jako je skladování velkého množství
dat do roamingového profilu. Pokud existuje podezření, že výchozí umístění těchto adresářů
způsobuje problém, lze je změnit úpravou příslušných vlastností v
support/launch.properties.
Poznámky Java
-
Ghidra vyžaduje podporovanou verzi Java Runtime a
Development Kit na PATH ke spuštění. Pokud je však na cestě PATH verze Java, která
Ghidra nepodporuje, k asistenci použije tuto verzi Javy (pokud je 1.8 nebo novější).
vyhledání podporované verze ve vašem systému. Pokud jeden nemůže být automaticky lokalizován, uživatel
budete vyzváni k zadání cesty k domovskému adresáři Java, který chcete použít (domovský adresář Java je
nadřazený adresář Java's bin adresář). To minimalizuje dopad, který má na Ghidra
již existující konfigurace Java, na které se může spoléhat jiný software.
-
V závislosti na vašem operačním systému může být možné najít a nainstalovat a
podporovaná verze Java Runtime and Development Kit prostřednictvím
vašeho správce balíčků, aniž byste museli nastavovat proměnné prostředí Path, jak je popsáno
níže.
-
Pokud se Ghidra nespustí, protože žádné verze Java nebyly na PATH, a
podporováno JDK by měl být nainstalován prostřednictvím správce balíčků Linux
(aptitude, yum atd.), instalační program Windows (*.exe, *.msi), instalační balíček macOS
(*.pkg), nebo ručně extrahovat a přidat do PATH. Následující kroky popisují, jak na to
ručně extrahujte a přidejte distribuci JDK do PATH operačního systému.
-
Windows: Rozbalte distribuci JDK (soubor .zip) do požadovaného umístění
a přidejte adresář bin JDK do své PATH:
-
Extrahujte soubor JDK:
- Klikněte pravým tlačítkem na soubor zip a klikněte na Extrahovat vše...
- Klikněte na Extrahovat
-
Otevřít okno Proměnné prostředí:
-
Windows 10: Klikněte pravým tlačítkem na tlačítko Start systému Windows a klikněte na Systém
Windows 7: Klikněte na tlačítko Start systému Windows, klikněte pravým tlačítkem na Počítač a klikněte
Vlastnosti
- Klikněte na Pokročilá nastavení systému
- Klikněte na Proměnné prostředí...
-
Přidejte adresář JDK bin do proměnné PATH:
- V části Systémové proměnné zvýrazněte Cesta a klikněte na Upravit...
-
Na konec pole Hodnota proměnné přidejte středník a za ním
\bin nebo použijte tlačítko Nový v
Okno Upravit proměnnou prostředí pro přidání nové položky do Cesta.
- Klikněte na OK
- Klikněte na OK
- Klikněte na OK
-
Restartujte všechna otevřená okna příkazového řádku, aby se změny projevily
-
Linux a macOS (OS X): Rozbalte distribuci JDK (soubor .tar.gz) do svého
požadované umístění a přidejte adresář bin JDK do své PATH:
-
Extrahujte JDK:
tar xvf
-
Otevřete ~/.bashrc pomocí editoru dle vašeho výběru. Například:
vi ~/.bashrc
-
Na úplný konec souboru přidejte adresář JDK bin do proměnné PATH:
export PATH=/bin:$PATH
-
Uložit soubor
-
Restartujte všechna otevřená okna terminálu, aby se změny projevily
-
V některých případech můžete chtít, aby se Ghidra spustila s konkrétní verzí Javy místo s
verzi, kterou Ghidra automaticky vyhledá. Chcete-li přinutit Ghidru spustit s konkrétní verzí
Java, nastavte vlastnost JAVA_HOME_OVERRIDE v souboru support/launch.properties.
Pokud je tato vlastnost nastavena na nekompatibilní verzi Javy, Ghidra se automaticky vrátí na
vyhledání kompatibilní verze. Všimněte si, že některá Java musí být stále na PATH v pořadí
aby Ghidra používala vlastnost JAVA_HOME_OVERRIDE. Toto omezení bude řešeno v
budoucí verze Ghidra.
(Zpět na začátek)
Rozvržení instalačního adresáře Ghidra
Když je Ghidra nainstalována, spustitelný software se rozbalí do nového adresáře, na který se odkážeme
na jako . Níže je uveden popis adresářů nejvyšší úrovně a
soubory, které lze nalézt v po extrakci distribučního souboru
je dokončeno.
Ghidra |
Základní adresář pro distribuci Ghidra. Obsahuje soubory potřebné ke spuštění Ghidra.
|
Rozšíření |
Volitelné komponenty, které mohou rozšířit funkčnost Ghidra a integrovat Ghidra s dalšími
nástrojů. Další informace naleznete v části Rozšíření.
|
GPL |
Samostatné programy podpory GPL.
|
server |
Obsahuje soubory související s instalací a správou serveru Ghidra.
|
podpora |
Obsahuje soubory užitečné pro ladění Ghidry, spouštění Ghidry v pokročilých režimech a ovládání
jak Ghidra spouští.
|
dokumenty |
Obsahuje dokumentaci pro Ghidra, jako jsou poznámky k verzi, soubory API, návody atd.
|
ghidraRun(.bat) |
Skript použitý ke spuštění Ghidra.
|
LICENSE.txt |
Informace o licenci Ghidra. |
licence |
Obsahuje licence používané Ghidra. |
bom.json |
Softwarový kusovník (SBOM) ve formátu CycloneDX JSON. |
(Zpět na začátek)
Vytváření nativních komponent
Ghidra vyžaduje přítomnost několika nativních binárních souborů, aby mohla úspěšně fungovat. Úředník
veřejné vydání Ghidra obsahuje nativní binární soubory pro následující platformy.
POZNÁMKA: U některých neveřejných vydání Ghidra mohou být nativní verze macOS vynechány.
- Windows 10 nebo novější, x86 64bitová verze
- Windows 10 nebo novější, ARM 64bitový (s použitím emulace x86)
- Linux x86 64bitová verze
- 64bitový systém macOS x86
- 64bitový MacOS ARM
Ghidra podporuje běh na následujících dalších platformách s nativními binárními soubory vytvořenými uživatelem:
- Linux ARM 64bitový
- FreeBSD x86 64-bit (bez podpory ladicího programu)
- FreeBSD ARM 64-bit (bez podpory debuggeru)
Pro podporované systémy, kde nebyly dodány nativní binární soubory, nebo pro ty, které jsou dodávány
nefunguje správně, může být nutné sestavit nativní binární soubory Ghidra.
Chcete-li vytvořit nativní binární soubory pro vaši platformu, budete potřebovat nainstalované následující
systém:
- Podporovaná verze sady Java Development Kit
- Gradle 7.3+
- Softwarové nástroje pro tvorbu C/C++ a balíčky knihoven
- macOS: Xcode nebo zkrácený Nástroje příkazového řádku pro Xcode poskytne
potřebné stavební nástroje. Za předpokladu, že jste připojeni k internetu, Xcode
(který zahrnuje příkazové nástroje) lze nainstalovat přímo z App Store
zatímco Nástroje příkazového řádku pro Xcode lze nainstalovat pomocí následujícího příkazu:
xcode-select --install
- Linux/FreeBSD: měly by být nainstalovány 64bitové verze následujících balíčků:
- gcc 8.5 nebo novější
- gcc-c++ / g++ 8.5 nebo novější
- vytvořit
- Windows:
Microsoft Visual Studio
2017 nebo novější, nebo
Nástroje Microsoft C++ Build Tools s nainstalovanými následujícími součástmi:
Chcete-li sestavit nativní binární soubory pro vaši aktuální platformu, spusťte následující skript:
/support/buildNatives(.bat)
Po úspěšném dokončení tohoto skriptu bude Ghidra obsahovat nově vytvořené nativní binární soubory
příslušné podadresáře build/os// příslušných modulů, které přepíší jakékoli
existující předpřipravené nativní binární soubory v podadresářích os//.
(Zpět na začátek)
Instalace závislostí Pythonu ladicího programu
Debugger nyní používá Python pro připojení k nativním debuggerům hostitelské platformy. To vyžaduje
Python3 (3.7 až 3.12) a některé další balíčky. Tyto balíčky jsou součástí distribuce,
ale stále je můžete nainstalovat z PyPI, pokud chcete:
- psutil
- protobuf==3.20.3
- Pybag>=2.2.10 (pro podporu WinDbg)
Různé nativní ladicí programy mají různé požadavky, takže je nemusíte nutně instalovat
všechny výše uvedené balíčky. Každý konektor vás bude informovat o svých specifických požadavcích a kde
musí být nainstalovány. V některých případech může být nutné nainstalovat balíčky na cílový systém.
Spuštění Ghidra
Režim GUI
-
Přejděte na
-
Spusťte ghidraRun.bat (Windows) nebo ghidraRun (Linux nebo macOS)
Pokud se Ghidra nepodařilo spustit, přečtěte si část Odstraňování problémů.
Ghidra Server
Ghidra může podporovat spolupráci více uživatelů na jednom projektu. Jednotliví uživatelé Ghidra
spustit a pracovat na vlastních místních kopiích konkrétního projektu Ghidra, ale zkontrolovat změny v a
společné úložiště obsahující všechny závazky k tomuto úložišti. Pro podrobné informace o
instalace/konfigurace serveru Ghidra viz
/server/svrREADME.html soubor.
Bezhlavý (dávkový) režim
Ghidra se tradičně spouští v režimu GUI. Je však také schopen běžet v dávce bez hlavy
režimu pomocí příkazového řádku. Více informací naleznete na
/support/analyzeHeadlessREADME.html soubor.
Režim jedné nádoby
Normálně se Ghidra instaluje jako celá adresářová struktura, která umožňuje modulární začlenění resp
odstranění sad funkcí a také poskytuje mnoho souborů, které lze rozšířit nebo konfigurovat. Však,
jsou chvíle, kdy by bylo užitečné mít všechny nebo některé podmnožiny Ghidra komprimované do a
jeden soubor jar na úkor možností konfigurace. Díky tomu je Ghidra snazší utéct
příkazový řádek pro bezhlavé ovládání nebo pro použití jako knihovna schopností zpětného inženýrství
jinou aplikaci Java.
Jediný soubor ghidra.jar lze vytvořit pomocí
/support/buildGhidraJar skript.
(Zpět na začátek)
Rozšíření
Rozšíření jsou volitelné součásti, které mohou:
-
Rozšiřte funkčnost Ghidra pomocí experimentálních nebo uživatelsky přidaných zásuvných modulů Ghidra nebo
analyzátory.
- Integrujte s Ghidrou další nástroje, jako je Eclipse nebo IDAPro.
Ghidra se dodává s následujícími rozšířeními, která jsou k dispozici k použití (a ve výchozím nastavení jsou odinstalována), která
naleznete v adresáři /Extensions.
-
Eclipse: Zásuvný modul GhidraDev Eclipse pro již existující instalaci Eclipse. Pro
informace o instalaci a používání pluginu GhidraDev Eclipse viz
/Extensions/Eclipse/GhidraDev/GhidraDev_README.html.
-
Ghidra: Rozšíření Ghidra (dříve známé jako příspěvky). Vidět
Další informace naleznete v Poznámkách k rozšíření Ghidra.
-
IDAPro: IDAPro pluginy/loadery pro přenos položek pomocí Ghidra.
Poznámky k rozšíření Ghidra
-
Rozšíření Ghidra jsou navržena tak, aby se instalovala a odinstalovávala z Ghidra front-end GUI:
- Klikněte na Soubor → Instalovat rozšíření
- Zaškrtněte políčka pro instalaci rozšíření; zrušením zaškrtnutí políček odinstalujte rozšíření
- Restartujte Ghidru, aby se změny projevily
-
Rozšíření nainstalovaná z Ghidra front-end GUI se instalují na
/.ghidra/.ghidra-[verze]/Rozšíření.
-
Rozšíření Ghidra je možné nainstalovat přímo do instalačního adresáře Ghidra.
To může být vyžadováno, pokud správce systému spravuje rozšíření pro více uživatelů
všechny používají sdílenou instalaci Ghidra. Také může být pohodlnější spravovat rozšíření
tímto způsobem, pokud je instalace Ghidra používána pouze bezhlavě.
Chcete-li v těchto případech nainstalovat rozšíření, jednoduše rozbalte požadovaný archiv rozšíření Ghidra
soubor(y) do adresáře /Ghidra/Extensions. Například na
Linux nebo macOS:
- Nastavte aktuální adresář na adresář Ghidra install-extensions:
cd /Ghidra/Extensions
- Extrahujte požadované archivní soubory rozšíření do aktuálního adresáře:
unzip ../../Extensions/Ghidra/.zip
- Rozšíření se nainstaluje při příštím spuštění Ghidra.
Chcete-li odinstalovat rozšíření, jednoduše odstraňte extrahované adresáře rozšíření
/Ghidra/Extensions. Rozšíření budou odinstalována
při příštím spuštění Ghidra.
POZNÁMKA: Je možné, že tímto způsobem nebude možné odinstalovat rozšíření, pokud existuje
spuštěná instance Ghidra, která drží zámek souboru v adresáři rozšíření, který se o to pokouší
být smazán.
(Zpět na začátek)
Ghidra Development
Uživatelé mohou rozšířit funkčnost Ghidra prostřednictvím vývoje vlastních skriptů Ghidra,
pluginy, analyzátory atd.
Ghidra podporuje vývoj v Eclipse tím, že poskytuje vlastní Eclipse plugin s názvem
GhidraDev, který lze nalézt v /Extensions/Eclipse
adresář. Další informace o instalaci a používání pluginu GhidraDev Eclipse viz
/Extensions/Eclipse/GhidraDev/GhidraDev_README.html.
POZNÁMKA: Eclipse není součástí Ghidra. Zásuvný modul GhidraDev Eclipse je navržen tak, aby
být nainstalován v již existující instalaci Eclipse.
Ghidra skriptovací API javadocs lze nalézt na
/docs/GhidraAPI_javadoc.zip.
(Zpět na začátek)
Pokyny k upgradu
Obecné pokyny k upgradu
-
!!!Důležité!!! NEJPRVE ZÁLOHUJTE SVÉ STARÉ PROJEKTY!!
!!!Důležité!!!
-
Zálohujte ručním zkopírováním adresáře .rep a souboru .gpr z libovolného Ghidra
adresáře projektu na bezpečné místo ve vašem systému souborů.
-
Nové instalace Ghidra budou ve výchozím nastavení používat uložený profil z nejnovějšího uživatele
verze Ghidra. To umožňuje, aby byly všechny uložené konfigurace nástrojů automaticky přeneseny na nové
projekty. To však také může zabránit automatickému zavádění nových možností a funkcí nástrojů
v některých případech nakonfigurované. Pro otevření nových nástrojů obsahujících nejnovější konfigurace by uživatelé měli
v okně Project Manager vyberte Nástroje → Výchozí nástroje...
-
Když otevřete program, který byl vytvořen pomocí předchozí verze Ghidra, budete
vyzváni k aktualizaci programu před jeho otevřením. Upgrade nepřepíše váš starý
soubor, dokud jej neuložíte. Pokud jej uložíte (do původního souboru), již nebudete moci
otevřete jej pomocí starší verze Ghidra. Můžete se však rozhodnout provést a
“Uložit jako“ místo toho vytvořte nový soubor a starou verzi ponechte beze změny. Být
velmi opatrní při upgradu sdílených programových souborů, protože každý, kdo má k souboru přístup, musí také
upgradujte jejich instalaci Ghidra.
Pokyny k upgradu serveru
-
Podrobnosti naleznete v souboru /server/svrREADME.html
upgrade vašeho serveru Ghidra.
(Zpět na začátek)
Odstraňování problémů a nápověda
Spouštění Ghidra
Při spouštění Ghidra s poskytnutými skripty v a
/support, můžete narazit na následující chybové zprávy:
-
Problém: Java runtime nebyl nalezen.
-
Problém: Nepodařilo se najít podporovaný JDK.
-
Řešení: Spouštěcí skript Ghidra používá Java
runtime na systémové PATH, abyste našli podporovanou verzi Java Development Kit (JDK), která
Ghidra potřebuje dokončit svůj start. Přečtěte si prosím
Sekce Požadavky pro to, jaká verze JDK musí být předinstalovaná, aby se Ghidra spustila.
-
Problém: Ukončeno s chybou. Spustit v režimu popředí (fg).
více podrobností.
-
Řešení: Ghidra se nepodařilo spustit na pozadí a
chybová zpráva popisující příčinu selhání je potlačena. Znovu spusťte Ghidru
popředí nastavením proměnné LAUNCH_MODE ve spouštěcím skriptu, který jste spustili
fg. Případně můžete použít
/support/ghidraDebug skript pro spuštění Ghidra v režimu ladění,
což vám také umožní zobrazit chybovou zprávu a další výstup ladění.
POZNÁMKA: Ve výchozím nastavení běží Ghidra v režimu ladění na 127.0.0.1:18001.
Použití Ghidra
Je několik způsobů, jak můžete získat pomoc s používáním Ghidra:
-
Výukové programy a další dokumentaci lze nalézt v /docs.
-
Když je Ghidra spuštěná, je k dispozici rozsáhlá kontextová nápověda k mnoha tématům. Na
otevřete nápovědu k tématu, umístěte myš na okno, nabídku nebo komponentu a stiskněte
. Zobrazí se nápověda pro toto okno/nabídku/komponentu.
-
Když je Ghidra spuštěná, indexovanou nápovědu najdete v Nápovědě → Témata...
(Zpět na začátek)
Známé problémy aktuální verze
Všechny platformy
-
Zobrazení správné manuálové stránky procesoru pro instrukci vyžaduje instalaci
Adobe Reader 8.0.x nebo novější. Adobe přerušilo stránku goto ve verzi Reader 7.x. Pokud a
není nainstalována novější verze Readeru, pak se manuál k procesoru zobrazí na
horní část příručky. Pro většinu funguje použití verze Adobe Reader vyšší než 8.0.x
platformy, ale některé platformy a verze čtečky mají stále problémy.
-
Některé akce mohou blokovat vlákno aktualizace GUI, pokud jsou dlouho spuštěny.
-
Archivy projektu ukládají v archivu pouze soukromé a rezervované soubory. Projekt
archivy nepodporují serverová úložiště.
-
Při použití serveru Ghidra musí mít všichni klienti a server platný Domain Name Server
(DNS), který byl správně nakonfigurován v síti pro dopředný i zpětný chod
vyhledávání.
-
Obrazový základ nelze změnit na adresu, která spadá do existujícího paměťového bloku.
-
Jazykové verze a migrace nezvládají složité změny v použití kontextu
rejstřík.
-
Ghidra se nespustí, když její cesta obsahuje znak "!" charakter. Je to proto, aby se předešlo problémům, které
Interní knihovny Java tyto cesty analyzují ("!" používá Java jako oddělovač jar).
Windows
-
Starší verze 7-Zip nemusí být schopny rozbalit distribuční soubor Ghidra, pokud obsahuje
všechny soubory o délce 0 bajtů. Chcete-li tento problém vyřešit, upgradujte na novější verzi 7-Zip.
-
Ghidra se nespustí, pokud její cesta obsahuje znak "^".
Linux
-
Ghidra se nemusí zobrazit správně při spuštění z relace vzdálené plochy Linuxu, která používá 32bitovou verzi
barevná hloubka. Nastavení barevné hloubky aplikace vzdálené plochy na 24 bitů je známé
zlepšit tento problém.
-
Někteří uživatelé hlásili problémy s vykreslováním Ghidra GUI v nastavení tenkého klienta s více monitory.
Tyto problémy jsou přičítány hlášeným chybám v Javě, které snad budou opraveny v
budoucnost. K vyřešení problému může být nutné zakázat 2. nebo 3. monitor.
-
Ikony GUI se v některých konfiguracích Linuxu nemusí vykreslovat správně. Nastavení
VMARGS=-Dsun.java2d.opengl na pravdu v
/support/launch.properties může tento problém vyřešit.
macOS (OS X)
-
Vytváření nových rozšíření modulu Ghidra v systému macOS (OS X) pomocí síťové jednotky (včetně a
síťově mapovaný domovský adresář) vyvolá výjimku Java. Tento problém je znám Java/macOS
komunita, ale oprava ještě nebyla vydána. Vidět
/Extensions/Eclipse/GhidraDev/GhidraDev_README.html více
informace o budování rozšíření modulu Ghidra z Eclipse.
(Zpět na začátek)