Skip to main content

URH image

CI Code style: black PyPI version Packaging status Blackhat Arsenal 2017 Blackhat Arsenal 2018

The Universal Radio Hacker (URH) is a complete suite for wireless protocol investigation with native support for many common Software Defined Radios. URH allows easy demodulation of signals combined with an automatic detection of modulation parameters making it a breeze to identify the bits and bytes that fly over the air. As data often gets encoded before transmission, URH offers customizable decodings to crack even sophisticated encodings like CC1101 data whitening. When it comes to protocol reverse-engineering, URH is helpful in two ways. You can either manually assign protocol fields and message types or let URH automatically infer protocol fields with a rule-based intelligence. Finally, URH entails a fuzzing component aimed at stateless protocols and a simulation environment for stateful attacks.

Getting started

In order to get started

If you like URH, please ⭐ this repository and join our Slack channel. We appreciate your support!

Citing URH

We encourage researchers working with URH to cite this WOOT'18 paper or directly use the following BibTeX entry.

URH BibTeX entry for your research paper
@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

URH runs on Windows, Linux and macOS. See below for OS specific installation instructions.

Windows

On Windows, URH can be installed with its 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

Installation with pipx

URH is available on PyPi so you can install it, for example, with pipx:

pipx install urh

This is the recommended way to install URH on Linux because it comes with all native extensions precompiled.

In order to access your SDR as non-root user, install the according udev rules. You can find them in the wiki.

Install via Package Manager

URH is included in the repositories of many linux distributions such as Arch Linux, Gentoo, Fedora, openSUSE or NixOS. There is also a package for FreeBSD. If available, simply use your package manager to install URH.

Note: For native support, you must install the according -dev package(s) of your SDR(s) such as hackrf-dev before installing URH.

Docker Images

The official URH docker image is available here. It has all native backends included and ready to operate.

macOS

Using DMG

It is recommended to use at least macOS 13 when using the DMG available here.

With brew

URH is available as a homebrew formula so you can install it with

brew install urh

Running from source (OS-agnostic)

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 URH from source you need to have python-setuptools installed. You can get them with python3 -m pip install setuptools. Once the setuptools are installed execute:

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

And start the application by typing urh in a terminal.

Articles

Hacking stuff with URH

General presentations and tutorials on URH

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

Release files for urh 2.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for urh 2.10.0
File Size Uploaded
urh-2.10.0.tar.gz 3.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for urh 2.10.0
File
urh-2.10.0-cp314-cp314-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ x86-64 Details
urh-2.10.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
urh-2.10.0-cp313-cp313-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ x86-64 Details
urh-2.10.0-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
urh-2.10.0-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details
urh-2.10.0-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details
urh-2.10.0-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details

Total release size: 123.0 MB

Release files / urh-2.10.0.tar.gz

Download URL urh-2.10.0.tar.gz
Size 3.2 MB
Tags Source
SHA-256 checksum
How to use checksums
c9e2932bc0c7b155cfd9483c058b78d08b51c49cd041ab75a0f4a70fc6cce757
BLAKE2b-256 checksum
How to use checksums
dd75e3ce1cd756dc47ab42166d1ecfb9a9f5e34e2fcf78aeed0b9392313dc057
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / urh-2.10.0-cp314-cp314-manylinux_2_34_x86_64.whl

Download URL urh-2.10.0-cp314-cp314-manylinux_2_34_x86_64.whl
Size 20.9 MB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
a6891ac013bce189fb978c008c0b7f6c8ec6f25872569c1e0fbf686ac7137d9e
BLAKE2b-256 checksum
How to use checksums
729b029134dceb70e5c5022ffdfde564db8ae0b9586b897e673554440af81375
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / urh-2.10.0-cp313-cp313-win_amd64.whl

Download URL urh-2.10.0-cp313-cp313-win_amd64.whl
Size 10.6 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
0743d6be3f5928cc2054da91b3f515d64550c4ea7899d76417be312623f4e2b8
BLAKE2b-256 checksum
How to use checksums
2dbbd5bd707cabb512199f2c3b63e9c5a171361476d24c6b9ad49a864e698765
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / urh-2.10.0-cp313-cp313-manylinux_2_34_x86_64.whl

Download URL urh-2.10.0-cp313-cp313-manylinux_2_34_x86_64.whl
Size 21.0 MB
Tags CPython 3.13 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
f6998f0900f296aa3ed7a21fc182cda45f6291f5d2b58c90139e31eb509bd60a
BLAKE2b-256 checksum
How to use checksums
087df0ea5495c4efde92e6e479d0075f973c1bd62cb184970d07928616f2e34d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / urh-2.10.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL urh-2.10.0-cp313-cp313-macosx_10_13_universal2.whl
Size 4.4 MB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
78580a08d755e250c4e4f304cab83bfce26b0b13a74d07958a373ab53966f331
BLAKE2b-256 checksum
How to use checksums
5826d52172b91778ce3d7d6557ec37b853ad8138a2bb3ece5a7b4bc693502461
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / urh-2.10.0-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL urh-2.10.0-cp312-cp312-manylinux_2_34_x86_64.whl
Size 21.0 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
abb24af72a94b6a2aca8d1a39b68cdcba1a0407eb176c2534035b3e28bf4828e
BLAKE2b-256 checksum
How to use checksums
c13f2840023703d668534be77adfb9bd3018eb359eee63a9ed2b9c5199ef5993
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / urh-2.10.0-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL urh-2.10.0-cp311-cp311-manylinux_2_34_x86_64.whl
Size 21.2 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
bea531da80a75c518a85ef0968f97f0ee3f1c23f04e223d19bc01e02421c4a35
BLAKE2b-256 checksum
How to use checksums
d8e8a43d1a3ae1eeaf53ef88308592d0116577f7cf3ed11928659d8a83937ef8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / urh-2.10.0-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL urh-2.10.0-cp310-cp310-manylinux_2_34_x86_64.whl
Size 20.7 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
387f682fda80b3c9086fc0a22960cd4219bd517455fe4cfb4365b65674575df6
BLAKE2b-256 checksum
How to use checksums
50d5e7201ddf10a18027fcb42d1b0551559b8d340a6cd725bdaedba7d8372580
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.19

Release history Release notifications | RSS feed

This release

2.10.0 This release

8 release files

2.9.8

9 release files

2.9.6

9 release files

2.9.5

9 release files

2.9.4

8 release files

2.9.3

6 release files

2.9.2

9 release files

2.9.1

9 release files

2.9.0

9 release files

2.8.9

8 release files

2.8.8

8 release files

2.8.7

8 release files

2.8.6

8 release files

2.8.5

8 release files

2.8.4

4 release files

2.8.3

4 release files

2.8.2

4 release files

2.8.1

4 release files

2.8.0

4 release files

2.7.5

4 release files

2.7.4

4 release files

2.7.3

4 release files

2.7.2

3 release files

2.7.0

4 release files

2.6.0

3 release files

2.5.7

3 release files

2.5.6

6 release files

2.5.5

7 release files

2.5.4

7 release files

2.5.3

7 release files

2.5.2

7 release files

2.5.1

7 release files

2.5.0

7 release files

2.4.2

7 release files

2.4.1

7 release files

2.4.0

7 release files

2.3.0

7 release files

2.2.4

5 release files

2.2.3

5 release files

2.2.2

5 release files

2.2.1

4 release files

2.2.0

5 release files

2.1.1

5 release files

2.1.0

5 release files

2.0.4

5 release files

2.0.3

5 release files

2.0.2

5 release files

2.0.1

5 release files

2.0.0

5 release files

1.9.2

5 release files

1.9.1

5 release files

1.9.0

5 release files

1.8.16

5 release files

1.8.15

5 release files

1.8.14

5 release files

1.8.13

5 release files

1.8.12

5 release files

1.8.11

5 release files

1.8.10

5 release files

1.8.9

1 release file

1.8.8

5 release files

1.8.7

5 release files

1.8.6

5 release files

1.8.5

5 release files

1.8.4

5 release files

1.8.3

5 release files

1.8.2

4 release files

1.8.1

5 release files

1.8.0

5 release files

1.7.1

5 release files

1.7.0

5 release files

1.6.6

5 release files

1.6.5

1 release file

1.6.4.2

1 release file

1.6.4.1

1 release file

1.6.4

1 release file

1.6.3

1 release file

1.6.2.6

1 release file

1.6.2.5

1 release file

1.6.2.4

1 release file

1.6.2.3

1 release file

1.6.2.2

1 release file

1.6.2.1

1 release file

1.6.1.9

1 release file

1.6.1.8

1 release file

1.6.1.7

1 release file

1.6.1.6

1 release file

1.6.1.5

1 release file

1.6.1.4

1 release file

1.6.1.3

1 release file

1.6.1.2

1 release file

1.6.1.1

1 release file

1.6.1

1 release file

1.6.0

1 release file

1.5.7

1 release file

1.5.6

1 release file

1.5.5

1 release file

1.5.4

1 release file

1.5.3

1 release file

1.5.2

1 release file

1.5.1

1 release file

1.5.0

1 release file

1.4.10

1 release file

1.4.9

1 release file

1.4.8

1 release file

1.4.7

1 release file

1.4.6

1 release file

1.4.5

1 release file

1.4.4

1 release file

1.4.2

1 release file

1.4.1

1 release file

1.4.0

1 release file

1.3.10

1 release file

1.3.9

1 release file

1.3.8

1 release file

1.3.7

1 release file

1.3.5

1 release file

1.3.4

1 release file

1.3.3

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.3.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page