Import CMSIS SVD information onto your Ghidra memory map. This is usefull when reversing firmware from devices that publish SVD files. This is a re-write of another Ghidra SVD Loader plugin.
This is the preferred way to generate memory maps, but if no SVD files are available for your device you may want to try the Ghidra DeviceTreeBlob plugin.
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 SVD...
.
A file dialog will allow you to select your SVD file and import it. Memory map will automatically be updated.
You may find SVD file sources in the following table:
Manufacturer | URL | Notes |
---|---|---|
Espressif | https://github.com/espressif/svd | |
ST | https://github.com/modm-io/cmsis-svd-stm32 | |
ST | https://github.com/morbos/STM32 | |
NXP | https://github.com/Masmiseim36/nxpSDK/tree/master/devices | May have XML extension |
NXP | https://mcuxpresso.nxp.com/en/welcome | May have XML extension |
Various/ARM | https://www.keil.arm.com/devices/ | |
Various/ARM | https://github.com/ARM-software/CMSIS_4/tree/master/Device/ARM/SVD | |
Various/ARM | https://github.com/ARM-software/CMSIS_5/tree/develop/Device/ARM/SVD | |
Various/ARM | https://github.com/ARM-software/Cortex_DFP/tree/main/SVD |
- 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 [email protected]:antoniovazquezblanco/GhidraSVD.git
In Eclipse:
- Click on
File
>Import...
. - In the dialog click on
General
>Projects from Folder or Archive
>Next
. - Click on
Directory...
and select theGhidraSVD
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!