Universal Radio Hacker: investigate wireless protocols like a boss
The Universal Radio Hacker 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
Check out the wiki for more information and supported devices.
Like to see things in action? Watch URH on YouTube!
- Python 3.4+
- numpy / psutil / zmq
- C++ Compiler
- librtlsdr (for native RTL-SDR device backend)
- libhackrf (for native HackRF device backend)
- gnuradio / gnuradio-osmosdr (for GNU Radio device backends)
yaourt -S urh
If you want to use native backends for RTL-SDR or HackRF and installed these drivers using your packet manager, you need to create the appropriate symlink:
sudo ln -s /usr/lib/x86_64-linux-gnu/librtlsdr.so.0 /usr/lib/x86_64-linux-gnu/librtlsdr.so sudo ln -s /usr/lib/x86_64-linux-gnu/libhackrf.so.0 /usr/lib/x86_64-linux-gnu/libhackrf.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 sudo pip3 install urh
Mac OS X
- 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.
- (Optional) Install desired native libs e.g. brew install librtlsdr for corresponding native device support.
- In a terminal, type: pip3 install urh.
- Type urh in a terminal to get it started.
If you installed URH via pip you can keep it up to date with
pip3 install --upgrade urh
If this shouldn’t work you can try:
python3 -m pip install --upgrade urh
Running from source
If you like to live on bleeding edge, you can run URH from source.
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.
Get the data out of raw signals
Keep an overview even on complex protocols
Record and send signals