[Defcon Tool] SDR Against Smart TVs: URL and channel injection attacks
dtv-utils
This project is a collection of utilities and scripts for digital television projects using bladeRF and GNU Radio
dvbt-blade.py
This Python script transmits a DVB-T digital television signal using the bladeRF and gr-dvbt (https://github.com/BogdanDIA/gr-dvbt). A file containing an MPEG-2 Transport Stream must be supplied as input. Optionally, an output file can be specified to store the generated IQ samples (in gr_complex floating point).
dvbtrate.c
Calculates the precise Transport Stream bit-rate for all DVB-T constellations, Viterbi code rates and guard intervals for a
given channel width.
qam-blade.py
This Python script transmits an ANSI/SCTE 07 2013 (also known as ITU-T J.83 Annex B) 64-QAM digital television signal using the bladeRF and gr-qam (https://github.com/argilo/gr-qam). A file containing an MPEG-2 Transport Stream (at 26.970352 Mbps) must be supplied as input. Optionally, an output file can be specified to store the generated IQ samples (in gr_complex floating point).
Internal parameter values that can be changed:
The three parameters I_taps, J_increment, and Control_Word can be used to control the interleaver from the following table.
Control_Word I_taps J_increment 0 128 1 1 128 1 2 128 2 3 64 2 4 128 3 5 32 4 6 128 4 7 16 8 8 128 5 9 8 16 10 128 6 11 Reserved 12 128 7 13 Reserved 14 128 8 15 Reserved The default is Control_Word = 6, I_taps = 128 and J_increment = 4 which seems to be the most commonly used on CATV systems.
dvbs2rate.c
Calculates the precise Transport Stream bit-rate for all DVB-S2 constellations, LDPC code rates, and pilots on/off for a given
symbol rate.
dvbt2rate.c
Calculates the precise Transport Stream bit-rate for all DVB-T2 parameters.
papr.c
Calculates the PAPR (Peak to Average Power) of an IQ sample file (32-bit floating-point pairs). The peak PAPR, percentage of power above each dB level and the value and position in the file of the peak IQ samples are printed.
hbbtv-dvbstream
This project contains some scripts to generate a transport stream using FFMpeg and Opencaster which triggers HbbTV portals on a TV. The stream can be played using Dektec streamXpress.
It is composed of two files:
- make-stream.sh: Generate the final transport stream. (First, it splits the MPEG files into different transport streams elements for audio and video. Second, it multiplexes the metadata tables, videos and audios streams into a final transport stream file)
- create-metadata-ts.py: Creates stream tables ( PAT, NIT, AIT, SDT, PMT) inspired by the opencaster hbbtv sample.
Download
git clone https://github.com/pcabreracamara/DC27.git
Copyright (C) 2019 pcabreracamara