Skip to main content

Universal Radio Hacker: investigate wireless protocols like a boss

Project description

Universal Radio Hacker Blackhat Arsenal 2017

Travis (.org) AppVeyor Coverage Status PyPI version Average time to resolve an issue Percentage of issues still open

The Universal Radio Hacker (URH) is a software for investigating unknown wireless protocols. Features include

  • hardware interfaces for common Software Defined Radios
  • easy demodulation of signals
  • assigning participants to keep overview of your data
  • customizable decodings to crack even sophisticated encodings like CC1101 data whitening
  • assign labels to reveal the logic of the protocol
  • fuzzing component to find security leaks
  • modulation support to inject the data back into the system
  • simulation environment to perform stateful attacks

To get started, download the official userguide (PDF), watch the demonstration videos (YouTube) or check out the wiki for more information and supported devices. Scroll down this page to learn how to install URH on your system.

Want to stay in touch? Slack

If you find URH useful, please consider giving this repository a :star: or even donate via PayPal. We appreciate your support!

If you use URH in your research paper, please cite this WOOT'18 paper, or directly use the following BibTeX entry.

BibTeX entry for citing URH
@inproceedings {220562,
author = {Johannes Pohl and Andreas Noack},
title = {Universal Radio Hacker: A Suite for Analyzing and Attacking Stateful Wireless Protocols},
booktitle = {12th {USENIX} Workshop on Offensive Technologies ({WOOT} 18)},
year = {2018},
address = {Baltimore, MD},
url = {https://www.usenix.org/conference/woot18/presentation/pohl},
publisher = {{USENIX} Association},
}

Installation

Universal Radio Hacker can be installed via pip or using the package manager of your distribution (if included). Below you find more specific installation instructions for:

Windows

On Windows, URH can be installed with it's MSI Installer. No further dependencies are required.

If you get an error about missing api-ms-win-crt-runtime-l1-1-0.dll, run Windows Update or directly install KB2999226.

Linux

Via Package Manager

For the following linux distributions you can install URH using your package manager.

Distribution Install with
Arch Linux pacman -S urh
Gentoo / Pentoo emerge -av urh
Fedora 25+ dnf install urh
openSUSE zypper install urh

Generic way with pip (Ubuntu/Debian)

URH you can also be installed with pip using pip3 install urh. In case you are running Ubuntu or Debian read on for more specific instructions.

In order to use native device backends, make sure you install the -dev package for your desired SDRs, that is libairspy-dev, libhackrf-dev, librtlsdr-dev , libuhd-dev .

If your device does not have a -dev package, e.g. LimeSDR, you need to manually create a symlink to the .so, like this:

sudo ln -s /usr/lib/x86_64-linux-gnu/libLimeSuite.so.17.02.2 /usr/lib/x86_64-linux-gnu/libLimeSuite.so

before installing URH, using:

sudo apt-get update
sudo apt-get install python3-numpy python3-psutil python3-zmq python3-pyqt5 g++ libpython3-dev python3-pip cython3
sudo pip3 install urh

Docker Image

If you use docker you can also run the official URH docker image available here.

Mac OS X

  1. Install Python 3 for Mac OS X. If you experience issues with preinstalled Python, make sure you update to a recent version using the given link.
  2. (Optional) Install desired native libs e.g. brew install librtlsdr for corresponding native device support.
  3. In a terminal, type: pip3 install urh.
  4. Type urh in a terminal to get it started.

Update your installation

Updating with Pip

If you installed URH via pip you can keep it up to date with pip3 install --upgrade urh, or, if this should not work python3 -m pip install --upgrade urh.

Updating with MSI

If you experience issues after updating URH using the .msi installer on Windows, please perform a full uninstallation. That is, uninstall URH via Windows and after that remove the installation folder (something like C:\Program Files\Universal Radio Hacker). Now, install the new version using the recent .msi .

Running from source

If you like to live on bleeding edge, you can run URH from source.

Without installation

To execute the Universal Radio Hacker without installation, just run:

git clone https://github.com/jopohl/urh/
cd urh/src/urh
./main.py

Note, before first usage the C++ extensions will be built.

Installing from source

To install from source you need to have python-setuptools installed. You can get it e.g. with pip install setuptools. Once the setuptools are installed use:

git clone https://github.com/jopohl/urh/
cd urh
python setup.py install

And start the application by typing urh in a terminal.

External decodings

See wiki for a list of external decodings provided by our community! Thanks for that!

Screenshots

Get the data out of raw signals

Interpretation phase

Keep an overview even on complex protocols

Analysis phase

Record and send signals

Record

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

urh-2.5.1.tar.gz (3.3 MB view details)

Uploaded Source

Built Distributions

urh-2.5.1-cp37-cp37m-win_amd64.whl (11.9 MB view details)

Uploaded CPython 3.7m Windows x86-64

urh-2.5.1-cp37-cp37m-win32.whl (10.0 MB view details)

Uploaded CPython 3.7m Windows x86

urh-2.5.1-cp36-cp36m-win_amd64.whl (11.9 MB view details)

Uploaded CPython 3.6m Windows x86-64

urh-2.5.1-cp36-cp36m-win32.whl (10.0 MB view details)

Uploaded CPython 3.6m Windows x86

urh-2.5.1-cp35-cp35m-win_amd64.whl (11.9 MB view details)

Uploaded CPython 3.5m Windows x86-64

urh-2.5.1-cp35-cp35m-win32.whl (9.9 MB view details)

Uploaded CPython 3.5m Windows x86

File details

Details for the file urh-2.5.1.tar.gz.

File metadata

  • Download URL: urh-2.5.1.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for urh-2.5.1.tar.gz
Algorithm Hash digest
SHA256 593449ed3bcd65f8f2e6a00cd437ca5b4bff9a6deed85cf53fc7cdc42eca031d
MD5 ca656361e7fce8cba6963940e58f4f69
BLAKE2b-256 a7ed99d8c330c0e8b79fe6750df39708cc0a4a19b5f26fea9961c1c0e4a34501

See more details on using hashes here.

File details

Details for the file urh-2.5.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: urh-2.5.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 11.9 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for urh-2.5.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 2aa1af0584adc393c312039d8b776d796a5aa8c00e820aed0afc44ec1a019372
MD5 c886dbdc1c5880afb897a6c7f868e2a3
BLAKE2b-256 92dc3aa23163e8abf669ba23091cc281c8e54ce223f25bc45b9f5851af0c1b42

See more details on using hashes here.

File details

Details for the file urh-2.5.1-cp37-cp37m-win32.whl.

File metadata

  • Download URL: urh-2.5.1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 10.0 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for urh-2.5.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 77fbe121e2b5e7287de067cfecfa81a8ef2d217cd3d63f471a8da3c8cbd591a5
MD5 703cd26da7cd8fd859aa3584d5c9eb72
BLAKE2b-256 e0c0a10e6eb38c41c96b64de4d2bfd21bcc3e0cfd2cf06e090e8aaf58eaeeb8c

See more details on using hashes here.

File details

Details for the file urh-2.5.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: urh-2.5.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 11.9 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for urh-2.5.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 56599bf9ec6fcfdd36c5210a44ce23ed0acb88dcf99142b803c7e3ea0e54edd9
MD5 21afa9312e891fdf8c0b279c1ffc1837
BLAKE2b-256 beb727c8c0d723ab73daee9d8b887828d809a95c5208297890e3d9df04b2e474

See more details on using hashes here.

File details

Details for the file urh-2.5.1-cp36-cp36m-win32.whl.

File metadata

  • Download URL: urh-2.5.1-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 10.0 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for urh-2.5.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 3400eb04d496c26b97fbf7cec38d632f98b0d4252f979a2c257c57417e8a30b9
MD5 93842518fe0d719d459d7fe7b0abb253
BLAKE2b-256 2c838caa8613a4bedeed534d35dd50c4efed18ab6099418a1d9346071a915ea2

See more details on using hashes here.

File details

Details for the file urh-2.5.1-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: urh-2.5.1-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 11.9 MB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.4

File hashes

Hashes for urh-2.5.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 8ff8d88bfdadc440f50218f42772f6ff0fffe29764f1f0b6aa41a82d6353e9cf
MD5 8dec234dff693a355f62ba8dc38881d1
BLAKE2b-256 b0f1c82471af01ee86b8cb74892d2e604e61b341c9fc75def82917b148af8063

See more details on using hashes here.

File details

Details for the file urh-2.5.1-cp35-cp35m-win32.whl.

File metadata

  • Download URL: urh-2.5.1-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 9.9 MB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.4

File hashes

Hashes for urh-2.5.1-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 ead038693a6c5a052bc36438f14483ee275f8d34b64c396431a73148cfe01a5b
MD5 3a96adda6b9cb1529ebc9e844c4d9596
BLAKE2b-256 7bc3ac19b297b0be52fcea70aaeaa00841521567d51ab0974c053d256f4478ed

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