Skip to main content

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


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)

Uploaded Source

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

Hashes for nrfsec-0.1.6.tar.gz
Algorithm Hash digest
SHA256 3283c013629553b9021a9b7a4335e023ec69019062036969d8761cf4000cb90a
MD5 543d1e23d2e42ce88800ba95f21aa889
BLAKE2b-256 6deaecf73972b11dd45d45423047556415095657c1c739c8e6bfb099cd5091a3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page