An embedded security research tool for unlocking and reading memory from Nordic nRF51 SoCs
Project description
nrfsec
nrfsec is security research tool used for unlocking and reading memory on nrf51 series SoCs from Nordic Semiconductor.
- Read all target memory, bypassing the Memory Protection Unit (MPU) settings with integrated read gadget searching
- Automated unlock feature: read all program and UICR memory, erase all memory, patch UICR image, reflash target into unlocked state
- boot delay command flag for interacting with target prior to performing memory read, allow for RAM dumps
- All firmware images are saved for importing into your favorite disassembler
Installation
nrfsec is built on the pyswd library and currently only works with the ST-Link debugging interface.
nrfsec requires python 3.7+ to run and can be installed with pip
pip3 install nrfsec
Usage
✗ nrfsec -h
usage: nrfsec <command> [<args>]
perform security related tasks on nRF51 targets through SWD interface
optional arguments:
-h, --help show this help message and exit
-f FREQUENCY, --frequency FREQUENCY
frequency to run the SWD interface (default 4 MHz)
-v, --verbose increase output verobsity
supported subcommands:
{info,erase,restore,read,unlock,lock}
info display chip information
erase perform a complete erase
restore restore specific images to an unlocked chip
read read memory contents to outfile
unlock unlock the device if locked
lock lock the device if unlocked
Todos
- Test on moar targets
License
GNU GPLv3
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nrfsec-0.1.6.tar.gz
(10.5 kB
view details)
File details
Details for the file nrfsec-0.1.6.tar.gz
.
File metadata
- Download URL: nrfsec-0.1.6.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3283c013629553b9021a9b7a4335e023ec69019062036969d8761cf4000cb90a |
|
MD5 | 543d1e23d2e42ce88800ba95f21aa889 |
|
BLAKE2b-256 | 6deaecf73972b11dd45d45423047556415095657c1c739c8e6bfb099cd5091a3 |