Skip to content

kjcolley7/UF2-IDA-Loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

UF2 Loader for IDA

The DEFCON 29 badge uses the UF2 bootloader, which conveniently allows you to dump and flash the firmware over USB as a mass storage device, so when you plug it into your computer in the right mode it shows up like a flash drive.

A detailed spec of the UF2 file format can be found here.

Installation

To install, simply copy the uf2.py file into IDA's loaders directory. Then, whenever you load a UF2 file, it will be detected and IDA will understand how to load it.

SVD Loading

IDA >= 7.5 has a new SVD loader plugin where you can provide the SVD file that describes a specific ARM processor and it will fill in names of addresses, registers, etc. The DEFCON badge uses the SAMD21G16B processor, and an SVD file describing memory layout and such can be found here.

Standalone usage

The uf2.py script can also be invoked directly from the command line to convert a UF2 file into a flat firmware binary. To use it as such, run: python3 uf2.py firmware.uf2 output.bin


Thanks to the ghidra_uf2loader project for inspiration and some help with understanding the format.

About

IDA file loader for UF2, created for the DEFCON 29 hardware badge

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages