name: urh title: Universal Radio Hacker version: git summary: Investigate Wireless Protocols Like A Boss description: | 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** to perform stateful attacks. After installation, give URH access to your USB in order to access your USB based SDRs: sudo snap connect urh:raw-usb In order to access your SDR as non-root user, install the according **udev rules** available at https://github.com/jopohl/urh/wiki/SDR-udev-rules. If you want to use your Soundcard as an SDR for receiving please execute: sudo snap connect urh:audio-record icon: data/icons/appicon.png grade: stable # must be 'stable' to release into candidate/stable channels confinement: strict # use 'strict' once you have the right plugs and slots base: core18 plugs: # plugs for theming, font settings, cursor and to use gtk3 file chooser gtk-3-themes: interface: content target: $SNAP/data-dir/themes default-provider: gtk-common-themes:gtk-3-themes icon-themes: interface: content target: $SNAP/data-dir/icons default-provider: gtk-common-themes:icon-themes sound-themes: interface: content target: $SNAP/data-dir/sounds default-provider: gtk-common-themes:sounds-themes apps: urh: adapter: full command: snap/command-chain/alsa-launch desktop-launch $SNAP/bin/urh plugs: - desktop - desktop-legacy - wayland - x11 - unity7 - gsettings - home - opengl - raw-usb - audio-playback - audio-record - network environment: QT_QPA_PLATFORMTHEME: gtk3 LD_PRELOAD: $SNAP/lib/semwraplib.so BLADERF_SEARCH_DIR: $SNAP/bladefpgas layout: /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/alsa-lib: bind: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/alsa-lib parts: alsa-mixin: plugin: dump source: https://github.com/diddlesnaps/snapcraft-alsa.git source-subdir: snapcraft-assets build-packages: - libasound2-dev semwraplib: plugin: nil source: data override-build: | snapcraftctl build mkdir -p $SNAPCRAFT_PART_INSTALL/lib gcc -g -O0 -Wall -Wstrict-prototypes -fPIC -shared semwraplib.c -o $SNAPCRAFT_PART_INSTALL/lib/semwraplib.so -ldl build-packages: - build-essential desktop-qt5: source: https://github.com/ubuntu/snapcraft-desktop-helpers.git source-subdir: qt plugin: make make-parameters: ["FLAVOR=qt5"] build-packages: - build-essential - qtbase5-dev - dpkg-dev stage-packages: - libxkbcommon0 - ttf-ubuntu-font-family - dmz-cursor-theme - light-themes - libgstreamer-plugins-base1.0-0 - adwaita-icon-theme - gnome-themes-standard - shared-mime-info - libgomp1 - libqt5gui5 - libgdk-pixbuf2.0-0 - libqt5svg5 # for loading icon themes which are svg - try: [appmenu-qt5] # not available on core18 - locales-all - xdg-user-dirs - fcitx-frontend-qt5 - libatk1.0-0 - libgtk2.0-0 - libxcomposite1 - libxcursor1 - libxinerama1 - libxrandr2 - libasyncns0 - libatk-bridge2.0-0 - libatspi2.0-0 - libcairo-gobject2 - libepoxy0 - libflac8 - libgtk-3-0 - libogg0 - libpulse0 - libsndfile1 - libvorbis0a - libvorbisenc2 - libwayland-cursor0 - libwayland-egl1 - libodbc1 - libpq5 - libpulse-mainloop-glib0 - libspeechd2 - python3 - python3-pyqt5 - python3-pyaudio - dbus - qtwayland5 - qt5-gtk-platformtheme - libqt5x11extras5 - locales - libcanberra-gtk3-module - libairspy-dev - libhackrf-dev - libiio-dev - liblimesuite-dev - librtlsdr-dev - libuhd-dev - libc-bin - libasound2 - libasound2-plugins - python3-distutils urh: after: [desktop-qt5, sdrplay, alsa-mixin] plugin: python requirements: [data/requirements.txt] source: . override-build: | git clone https://github.com/Nuand/bladeRF.git cd bladeRF/host mkdir build cmake -DCMAKE_INSTALL_PREFIX=$SNAPCRAFT_PART_INSTALL .. make -j$(nproc) make install cmake -DCMAKE_INSTALL_PREFIX=/usr .. make install snapcraftctl build build-packages: - libairspy-dev - libhackrf-dev - libiio-dev - liblimesuite-dev - librtlsdr-dev - libuhd-dev - wget - execstack - build-essential - cmake - pkg-config sdrplay: plugin: dump source: /lib stage: [libmirsdrapi-rsp.so.2.13] override-build: | wget http://www.sdrplay.com/software/SDRplay_RSP_API-Linux-2.13.1.run -O sdrplay.run bash sdrplay.run --tar xf cp mirsdrapi-rsp.h /usr/include cp x86_64/* /lib cp x86_64/* . ln -sf /lib/libmirsdrapi-rsp.so.2.13 /lib/libmirsdrapi-rsp.so snapcraftctl build bladerf-fpga: plugin: dump source: . override-build: | snapcraftctl build wget https://www.nuand.com/fpga/v0.11.0/hostedxA4.rbf -P $SNAPCRAFT_PART_INSTALL/bladefpgas wget https://www.nuand.com/fpga/v0.11.0/hostedxA9.rbf -P $SNAPCRAFT_PART_INSTALL/bladefpgas wget https://www.nuand.com/fpga/v0.11.0/hostedx40.rbf -P $SNAPCRAFT_PART_INSTALL/bladefpgas wget https://www.nuand.com/fpga/v0.11.0/hostedx115.rbf -P $SNAPCRAFT_PART_INSTALL/bladefpgas