HackRF-Treasure-Chest/Software/Universal Radio Hacker/data/snapcraft.yaml

208 lines
6.1 KiB
YAML
Raw Permalink Normal View History

2022-09-22 22:46:47 +02:00
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