Package: urh
The Universal Radio Hacker (URH) is a complete suite for wireless protocol investigation with native support formanycommonSoftware Defined Radios.
URH allowseasy demodulationof signals combined with anautomaticdetection of modulation parameters making it a breeze to identify the bits and bytes that fly over the air.
As data often getsencodedbefore transmission, URH offerscustomizable decodingsto crack even sophisticated encodings like CC1101 data whitening.
When it comes toprotocol reverse-engineering, URH is helpful in two ways. You can either manually assign protocol fields and message types or let URHautomatically infer protocol fieldswith arule-based intelligence.
Finally, URH entails afuzzing componentaimed at stateless protocols and asimulation environmentfor stateful attacks.Getting startedIn order to get startedview theinstallation instructionson this page,download theofficial userguide (PDF),watch thedemonstration videos (YouTube),check out thewikifor more information such as supported devices orread somearticles about URHfor inspiration.If you like URH, please :star: this repository andjoin our Slack channel. We appreciate your support!Citing URHWe encourage researchers working with URH to citethisWOOT'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},}InstallationURH runs on Windows, Linux and macOS. See below for OS specific installation instructions.WindowsOn Windows, URH can be installed with itsInstaller. No further dependencies are required.If you get an error about missingapi-ms-win-crt-runtime-l1-1-0.dll, run Windows Update or directly installKB2999226.LinuxInstallation with pipxURH is available onPyPiso you can install it, for example, withpipx:pipxinstallurhThis is the recommended way to install URH on Linux because it comes withall native extensionsprecompiled.In order to access your SDR as non-root user, install the accordingudev rules. You can find themin the wiki.Install via Package ManagerURH is included in the repositories of many linux distributions such asArch Linux,Gentoo,Fedora,openSUSEorNixOS. There is also a package forFreeBSD.  If available, simply use your package manager to install URH.Note: For native support, you must install the according-devpackage(s) of your SDR(s) such ashackrf-devbeforeinstalling URH.Docker ImagesThe official URH docker image is availablehere. It has all native backends included and ready to operate.macOSUsing DMGIt is recommended to useat least macOS 12when using the DMG availablehere.With brewURH is available as ahomebrew formulaso you can install it withbrew install urhRunning from source (OS-agnostic)Without installationTo execute the Universal Radio Hacker without installation, just run:git clone https://github.com/jopohl/urh/
cd urh/src/urh
./main.pyNote, before first usage the C++ extensions will be built.Installing from sourceTo install URH from source you need to havepython-setuptoolsinstalled. You can get them withpython3 -m pip install setuptools.
Once the setuptools are installed execute:git clone https://github.com/jopohl/urh/
cd urh
python setup.py installAnd start the application by typingurhin a terminal.ArticlesHacking stuff with URHHacking Burger PagersReverse-engineer and Clone a Remote ControlReverse-engineering Weather Station RF SignalsReverse-engineering Wireless BlindsAttacking Logitech Wireless Presenters (German Article)Attacking Wireless KeyboardsReverse-engineering a 433MHz Remote-controlled Power Socket for use with ArduinoGeneral presentations and tutorials on URHHackaday ArticleRTL-SDR.com ArticleShort Tutorial on URH with LimeSDR MiniBrute-forcing a RF Device: a Step-by-step GuideHacking wireless sockets like a NOOBExternal decodingsSeewikifor a list of external decodings provided by our community! Thanks for that!ScreenshotsGet the data out of raw signalsKeep an overview even on complex protocolsRecord and send signals