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 Update 或直接安裝 KB2999226。
URH 在 PyPi 上可用,因此您可以使用 pipx 安裝它:
pipx install urh
這是在 Linux 上安裝 URH 的建議方法,因為它附帶了預編譯的所有本機擴充。
為了以非 root 使用者身分存取您的 SDR,請安裝對應的udev 規則。您可以在 wiki 中找到它們。
URH 包含在許多 Linux 發行版的儲存庫中,例如Arch Linux 、 Gentoo 、 Fedora 、 openSUSE或NixOS 。還有一個針對FreeBSD的軟體包。如果可用,只需使用套件管理器來安裝 URH。
注意:要獲得本機支持,您必須在安裝 URH之前安裝 SDR 的相應-dev
軟體包,例如hackrf-dev
。
官方 URH docker 映像可在此處取得。它包含所有本機後端並準備好運行。
使用此處提供的 DMG 時,建議至少使用 macOS 12 。
URH 可作為自製程式使用,因此您可以使用以下命令安裝它
brew install urh
要在不安裝的情況下執行 Universal Radio Hacker,只需運行:
git clone https://github.com/jopohl/urh/
cd urh/src/urh
./main.py
請注意,在首次使用之前,將建置 C++ 擴充功能。
要從來源安裝 URH,您需要安裝python-setuptools
。您可以使用python3 -m pip install setuptools
來取得它們。安裝安裝工具後,執行:
git clone https://github.com/jopohl/urh/
cd urh
python setup.py install
並透過在終端機中鍵入urh
來啟動應用程式。
請參閱 wiki 以取得我們社群提供的外部解碼清單!謝謝你!