
Universal Radio Hacker (URH) 是一套完整的无线协议研究套件,原生支持众多常见的__软件定义无线电__。 URH 允许对信号进行__轻松解调__,结合自动检测调制参数,让识别空中传输的比特和字节变得轻而易举。 由于数据在传输前常常经过_编码_,URH 提供__可定制的解码__,以破解甚至复杂的编码,如 CC1101 数据白化。 在__协议逆向工程__方面,URH 通过两种方式提供帮助:您可以手动分配协议字段和消息类型,也可以让 URH 利用基于规则的智能自动推断协议字段。 最后,URH 还包含一个针对无状态协议的__模糊测试组件__,以及一个用于状态攻击的__模拟环境__。
要开始使用,请:
如果您喜欢 URH,请 ⭐ 此仓库并加入我们的 Slack 频道。感谢您的支持!
我们鼓励使用 URH 的研究人员引用这篇 WOOT'18 论文,或直接使用以下 BibTeX 条目。
@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},
}
URH 可在 Windows、Linux 和 macOS 上运行。有关特定操作系统的安装说明,请参见下文。
在 Windows 上,可以通过其安装程序安装 URH。无需其他依赖项。
如果收到关于缺少 api-ms-win-crt-runtime-l1-1-0.dll 的错误,请运行 Windows 更新或直接安装 KB2999226。
URH 在 PyPi 上可用,因此您可以使用例如 pipx 进行安装:
pipx install urh
这是在 Linux 上推荐安装 URH 的方式,因为它附带了所有__预编译的原生扩展__。
为了以非 root 用户身份访问您的 SDR,请安装相应的 udev 规则。您可以在维基中找到它们。
URH 包含在许多 Linux 发行版的仓库中,例如 Arch Linux、Gentoo、Fedora、openSUSE 或 NixOS。还有适用于 FreeBSD 的软件包。如果可用,只需使用您的包管理器安装 URH。
注意:为了原生支持,您必须安装您的 SDR 的相应 -dev 包,例如 hackrf-dev,__在__安装 URH 之前。
官方 URH Docker 镜像可在此处获取。它包含所有原生后端并准备就绪。
当使用此处可用的 DMG 时,建议使用__至少 macOS 13__。
URH 作为 homebrew formula 可用,因此您可以使用以下命令安装:
brew install urh
要运行 Universal Radio Hacker 而无需安装,只需执行:
git clone https://github.com/jopohl/urh/
cd urh/src/urh
PYTHONPATH=.. ./main.py
请注意,首次使用前将构建 C++ 扩展。
要从源代码安装 URH,您需要已安装 python-setuptools。您可以使用 python3 -m pip install setuptools 获取它们。安装 setuptools 后,执行:
git clone https://github.com/jopohl/urh/
cd urh
python setup.py install
然后在终端中输入 urh 启动应用程序。
请参见维基查看我们社区提供的外部解码列表!感谢他们!