Skip to main content

Universal Radio Hacker: investigate wireless protocols like a boss

Project description

Universal Radio Hacker `Blackhat Arsenal 2017 <http://www.toolswatch.org/2017/06/the-black-hat-arsenal-usa-2017-phenomenal-line-up-announced/>`__
=================================================================================================================================================

+-----------------+-----------------+-----------------+-----------------+
| Tests Linux/OSX | Tests Windows | Test Coverage | Latest Release |
+=================+=================+=================+=================+
| `Build | `Build | `Coverage | `PyPI |
| Status <https:/ | status <https:/ | Status <https:/ | version <https: |
| /travis-ci.org/ | /ci.appveyor.co | /coveralls.io/g | //badge.fury.io |
| jopohl/urh>`__ | m/project/jopoh | ithub/jopohl/ur | /py/urh>`__ |
| | l/urh/branch/ma | h?branch=master | |
| | ster>`__ | >`__ | |
+-----------------+-----------------+-----------------+-----------------+

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

To get started, download the `official userguide
(PDF) <https://github.com/jopohl/urh/raw/master/data/userguide.pdf>`__,
watch the `demonstration videos
(YouTube) <https://www.youtube.com/watch?v=kuubkTDAxwA>`__ or check out
the `wiki <https://github.com/jopohl/urh/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 <https://join.slack.com/t/stralsundsecurity/shared_invite/enQtMjEwOTIxNzMzODc3LWU4ZWIzMTQ3NDAyNjkzODBhZTJiZDNmN2U0MTA4ZTM1MjhhNTNiYTc4YzQ5MDk2NjU5YzMxOWJmMDQyZDczYjg>`__

If you find URH useful, please consider giving this repository a :star:
or even `donate via
PayPal <https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6WDFF59DL56Z2>`__.
We appreciate your support!

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: - `Linux <#linux>`__ - `Via
Package Manager <#via-package-manager>`__ - `Generic way with pip
(Ubuntu/Debian) <#generic-way-with-pip-ubuntudebian>`__ -
`Windows <#windows>`__ - `MSI Installer <#msi-installer>`__ -
`Pip <#pip>`__ - `Mac OS X <#mac-os-x>`__ - `Updating your
installation <#update-your-installation>`__ - `Updating with
Pip <#updating-with-pip>`__ - `Updating with MSI <#updating-with-msi>`__
- `Running from source <#running-from-source>`__

Linux
~~~~~

Via Package Manager
^^^^^^^^^^^^^^^^^^^

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

+-----------------+------------------------+
| Distribution | Install with |
+=================+========================+
| Arch Linux | ``yaourt -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:

.. code:: bash

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:

.. code:: bash

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

Windows
~~~~~~~

MSI Installer
^^^^^^^^^^^^^

The easiest way to install URH on Windows is to use the ``.msi``
installer available `here <https://github.com/jopohl/urh/releases>`__.

It is recommended to use the **64 bit version** of URH because native
device support is not available on 32 bit windows. If you get an error
about missing ``api-ms-win-crt-runtime-l1-1-0.dll``, run Windows Update
or directly install
`KB2999226 <https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows>`__.

Pip
^^^

If you run Python 3.4 on Windows you need to install `Visual C++ Build
Tools
2015 <http://landinghub.visualstudio.com/visual-cpp-build-tools>`__
first.

**It is recommended to use Python 3.5 or later on Windows, so no C++
compiler needs to be installed.**

1. Install `Python 3 for
Windows <https://www.python.org/downloads/windows/>`__. Choose a **64
Bit** Python version for native device support.
2. In a terminal, type: ``pip install urh``.
3. Type ``urh`` in a terminal or search for ``urh`` in search bar to
start the application.

Mac OS X
~~~~~~~~

1. Install `Python 3 for Mac OS
X <https://www.python.org/downloads/mac-osx/>`__. *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:

.. code:: bash

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:

.. code:: bash

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 <https://github.com/jopohl/urh/wiki/External-decodings>`__ for
a list of external decodings provided by our community! Thanks for that!


Project details


Release history Release notifications | RSS feed

This version

2.1.0

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.1.0.tar.gz (8.3 MB view hashes)

Uploaded Source

Built Distributions

urh-2.1.0-cp36-cp36m-win_amd64.whl (9.2 MB view hashes)

Uploaded CPython 3.6m Windows x86-64

urh-2.1.0-cp36-cp36m-win32.whl (8.8 MB view hashes)

Uploaded CPython 3.6m Windows x86

urh-2.1.0-cp35-cp35m-win_amd64.whl (9.2 MB view hashes)

Uploaded CPython 3.5m Windows x86-64

urh-2.1.0-cp35-cp35m-win32.whl (8.8 MB view hashes)

Uploaded CPython 3.5m Windows x86

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