https://github.com/jopohl/urh Skip to content Sign up * Why GitHub? Features - + Mobile - + Actions - + Codespaces - + Packages - + Security - + Code review - + Project management - + Integrations - + GitHub Sponsors - + Customer stories- + Security - * Team * Enterprise * Explore + Explore GitHub - Learn and contribute + Topics - + Collections - + Trending - + Learning Lab - + Open source guides - Connect with others + The ReadME Project - + Events - + Community forum - + GitHub Education - + GitHub Stars program - * Marketplace * Pricing Plans - + Compare plans - + Contact Sales - + Nonprofit - + Education - [ ] [search-key] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} jopohl / urh * Notifications * Star 6.1k * Fork 580 Universal Radio Hacker: Investigate Wireless Protocols Like A Boss GPL-3.0 License 6.1k stars 580 forks Star Notifications * Code * Issues 18 * Pull requests 1 * Discussions * Actions * Wiki * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Wiki * Security * Insights master Switch branches/tags [ ] Branches Tags Nothing to show {{ refName }} default View all branches Nothing to show {{ refName }} default View all tags 4 branches 89 tags Go to file Code Clone HTTPS GitHub CLI [https://github.com/j] Use Git or checkout with SVN using the web URL. [gh repo clone jopohl] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio If nothing happens, download the GitHub extension for Visual Studio and try again. Go back Latest commit @Adminiuga @jopohl Adminiuga and jopohl Use list for checksum data_ranges ... fdc612c Feb 16, 2021 Use list for checksum data_ranges fdc612c Git stats * 2,871 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github Create FUNDING.yml Aug 5, 2019 data update snapcraft.yaml Nov 24, 2020 src/urh Use list for checksum data_ranges Feb 16, 2021 tests update requirements (#821) Nov 24, 2020 .gitignore Add support for Manylinux2014 (#750) Mar 24, 2020 LICENSE update copyright year Jan 1, 2020 README.md Update README.md and CI Jun 2, 2020 setup.py remove parallelization in ExtensionHelper.py Apr 19, 2020 View code README.md URH image Build Status 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 * view the installation instructions on this page, * download the official userguide (PDF), * watch the demonstration videos (YouTube), * check out the wiki for more information such as supported devices or * read some articles about URH for inspiration. 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. Click on your operating system below to view 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 Generic Installation with pip (recommended) URH is available on PyPi so you can install it with # IMPORTANT: Make sure your pip is up to date sudo python3 -m pip install --upgrade pip # Update your pip installation sudo python3 -m pip install urh # 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. Snap URH is available as a snap: https://snapcraft.io/urh Docker Image 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 10.14 when using the DMG available here. With pip 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 If you installed URH via pip you can keep it up to date with python3 -m pip install --upgrade urh. Running 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 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 * Hacking Burger Pagers * Reverse-engineer and Clone a Remote Control * Reverse-engineering Weather Station RF Signals * Reverse-engineering Wireless Blinds * Attacking Logitech Wireless Presenters (German Article) * Attacking Wireless Keyboards * Reverse-engineering a 433MHz Remote-controlled Power Socket for use with Arduino General presentations and tutorials on URH * Hackaday Article * RTL-SDR.com Article * Short Tutorial on URH with LimeSDR Mini * Brute-forcing a RF Device: a Step-by-step Guide 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 About Universal Radio Hacker: Investigate Wireless Protocols Like A Boss Topics python radio iot security qt hacking wireless sdr rtl-sdr hackrf airspy usrp sdrplay bladerf limesdr Resources Readme License GPL-3.0 License Releases 89 v2.9.1 Latest Dec 30, 2020 + 88 releases Packages 0 No packages published Used by 4 * @valkheim * @arbaazkhan47 * @Robbe7730 * @Endi0n Contributors 14 * @jopohl * @andynoack * @mehdideveloper * @friedri1970 * @tirkarthi * @zuckschwerdt * @dkozel * @elafargue * @ChrisVisitGit * @ad1217 * @mnhauke + 3 contributors Languages * Python 99.5% * Other 0.5% * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.