Reverse Engineering Signals with the Universal Radio Hacker Software

Thanks to reader M Kizan who notified us about a Python based digital signal reverse engineering software program called ‘Universal Radio Hacker’ which is developed by Johannes Pohl. The software supports hardware interfaces for SDRs such as the RTL-SDR and HackRF and can be run on Windows, MacOS and Linux.

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

Inspectrum and Waveconverter are two similar programs for analyzing digital signals, however Universal Radio Hacker seems to be the most advanced.

Johannes has also uploaded four tutorial videos to YouTube which show the software in action. In the videos he uses Universal Radio Hacker to reverse engineer a wirelessly controlled power socket, and then in the last video he uses the software to transmit the reverse engineered signals via a HackRF.

Universal Radio Hacker - 01: Record a signal

Notify of

Inline Feedbacks
View all comments

Ich verwende URH zusammen mit einem HackRF one. Das Empfangen von Signalen funktioniert einwandfrei, aber das Senden (Replay) nicht. Ich habe jetzt bemerkt, dass das HackRF one scheinbar beim TX seine Antenne ausschaltet. Wenn ich das HackRF one über ein Terminal anspreche (hackrf_transfer …) muss ich den Parameter -p mit angeben und dann funktioniert es. Wenn ich anschließend das Gerät ein zweites Mal über ein Terminal anspreche kann ich den Parameter -p auch weg lassen und es funktioniert. Trotzdem kommen über URH keine Signale raus. Kann ich in URH die Antenne irgendwie separat aktivieren? Bin für jeden Tip dankbar!


OK, a newbie question for this program and python with windows. Loaded up python 3.6.0 installer and everything indicated a good install. went to the folder with the urh-master and the only thing I saw to run was the “” which I ran and it opened up a command window, closed and that was it. What am I missing to get the program running.


If you see the rtl-sdr greyed out on linux you need to install gnuradio and gr-osmosdr. Hope it helps


I installed GNURADIO on my Windows 7 for that purpose but when launching gqrx.exe, it crashed and gives me a 0xc000001d error. Bummer…
I guess we aren’t there yet.

D. B. gain

I’d love to see a precompiled for win nothing else needed version that speaks to the rsp and rtl series sdrs!


The author tolds on the issues board of the project, that RTL-SDR is not natively supported. One must use a GnuRadio backend (see bug #139). Any volounteers is needed to add native rlt-sdr support !


Thanks to Jerome for the update here, and thanks to Johannes Pohl and the other contributors for all the hard work on Universal Radio Hacker software! I now have URH recording signals under Windows 10 (64bit) with native support of RTL-SDR dongle. I am looking forward to the day I can use URH with my SDRPLAY.


Guys, could you tell me how to do it? I’m usiong Win10 64-bit and RTL-SDR is grayed out. How to use GnuRadio in this context? In URH in edit->Options->Device i can see below the table the following option: “GNU Radio options (optional): Python interpreter: ….enter Python interpreter path”. Where should i find it in Win10. I know i have Python3 on my machine.


Same here, RTL-SDR shows as disabled under devices and the enable box is grayed out.


Anyone got this working? RTL-SDR shows as disabled under devices for me.