Import Device Tree Information onto your Ghidra memory map. This is usefull when reversing firmware from propietary devices that do not publish SVD files.
If you have SVD files for your device, I recommend you try GhidraSVD.
Go to the releases page and download the latest version for your Ghidra distribution.
In Ghidra main window go to File
> Install extensions...
. In the new window press the +
icon to import the downloaded zip.
In a CodeBrowser window press File
> Import DTB...
.
A file dialog will allow you to select your device tree file and import it. Memory map will automatically be updated.
- First, install Eclipse for Java Developers.
- Once installed, open Eclipse and click on
Help
>Install New Software...
. A window will pop up. - Click on
Add...
>Archive...
. It will open a file selection dialog. In this dialog, please selectGhidraDev.zip
file from<Your Ghidra install dir>/Extensions/Eclipse/GhidraDev/
. - Check Ghidra category (or GhidraDev entry).
- Repeatedly click
Next
. - Accept the terms of the license agreement.
- Check the
Unsigned
table entry and clickTrust Selected
. - Restart Eclipse...
After all of that, if you still want to develop and/or contribute to the project, first clone this repository:
git clone git@github.com:antoniovazquezblanco/GhidraDeviceTreeBlob.git
In Eclipse:
- Click on
File
>Import...
. - In the dialog click on
General
>Projects from Folder or Archive
>Next
. - Click on
Directory...
and select theGhidraDeviceTreeBlob
folder you have just cloned. - Click on
Finish
. - Right click on the just imported project
GhidraDev
>Link Ghidra...
. - Select your desired Ghidra installation and click on
Finish
.
You are now ready to develop!