Skip to content

Commit 4b4a72d

Browse files
author
Chris Poore
committed
Creating bootable USBs, copying FM attacks, README updates
1 parent 4ffadf8 commit 4b4a72d

File tree

52 files changed

+4148
-648
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+4148
-648
lines changed

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,36 @@
11
# Change Log
22
All notable changes to this project will be documented in this file.
33

4+
## 2023-01-08
5+
6+
Creating bootable USBs, copying FM attacks, README updates
7+
8+
### Added
9+
10+
- Lesson12: Creating Bootable USBs
11+
- "From Wav File" attacks for USRP B2x0, B20xmini, HackRF, bladeRF 2.0
12+
- Logo to README
13+
- "Inspection Flow Graphs" Help menu item
14+
- Help Menu items in README
15+
- Videos section in README
16+
- "Interested In Working For AIS?" section in README
17+
18+
### Changed
19+
20+
- Added audio rate variable to "FM Radio - From Wav File" attacks
21+
- Roadmap items in README
22+
- Renamed "Uploading Flow Graphs" and "Uploading Python Scripts" to "Attack Flow Graphs" and "Attack Python Scripts"
23+
- Updated "Attack Flow Graphs" and "Attack Python Scripts" Help Menu items
24+
- Updated "Built With" Help Menu item with Python3 code
25+
- Inserted QtDesigner image in "Modifying Dashboard" Help Menu item
26+
- Inserted QtDesigner image in "Adding Custom Options" Help Menu item
27+
- Moved Ubuntu 22.04 out of beta category in README
28+
- Updated "Software and Conflicts" for 22.04 Kismet
29+
30+
### Fixed
31+
32+
- Kismet installation for Python3_maint-3.10 branch
33+
434
## 2022-12-27
535

636
Additional support for USRP X300, B200, and B200mini.

Flow Graph Library/Inspection Flow Graphs/instantaneous_frequency_hackrf.grc

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ blocks:
7171
label: ' Freq. (MHz):'
7272
min_len: '200'
7373
orient: QtCore.Qt.Horizontal
74+
outputmsgname: value
7475
rangeType: float
76+
showports: 'False'
7577
start: '50'
7678
step: '.1'
7779
stop: '6000'
@@ -92,7 +94,9 @@ blocks:
9294
label: ' Gain:'
9395
min_len: '200'
9496
orient: QtCore.Qt.Horizontal
97+
outputmsgname: value
9598
rangeType: float
99+
showports: 'False'
96100
start: '0'
97101
step: '1'
98102
stop: '47'
@@ -639,11 +643,36 @@ blocks:
639643
coordinate: [8, 76.0]
640644
rotation: 0
641645
state: true
646+
- name: soapy_hackrf_source_0
647+
id: soapy_hackrf_source
648+
parameters:
649+
affinity: ''
650+
alias: ''
651+
amp: 'True'
652+
bandwidth: '0'
653+
center_freq: rx_frequency
654+
comment: ''
655+
dev_args: '"hackrf="+serial'
656+
gain: rx_hackrf_gain
657+
maxoutbuf: '0'
658+
minoutbuf: '0'
659+
samp_rate: sample_rate
660+
type: fc32
661+
vga: '60'
662+
states:
663+
bus_sink: false
664+
bus_source: false
665+
bus_structure: null
666+
coordinate: [232, 324.0]
667+
rotation: 0
668+
state: disabled
642669

643670
connections:
644671
- [blocks_keep_one_in_n_0, '0', dect2_phase_diff_0, '0']
645672
- [dect2_phase_diff_0, '0', qtgui_time_sink_x_0, '0']
646673
- [osmosdr_source_0, '0', blocks_keep_one_in_n_0, '0']
674+
- [soapy_hackrf_source_0, '0', blocks_keep_one_in_n_0, '0']
647675

648676
metadata:
649677
file_format: 1
678+
grc_version: 3.10.4.0

Flow Graph Library/Inspection Flow Graphs/instantaneous_frequency_hackrf.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#
77
# GNU Radio Python Flow Graph
88
# Title: Instantaneous Frequency Hackrf
9-
# GNU Radio version: 3.10.1.1
9+
# GNU Radio version: 3.10.4.0
1010

1111
from packaging.version import Version as StrictVersion
1212

@@ -33,7 +33,7 @@
3333
from argparse import ArgumentParser
3434
from gnuradio.eng_arg import eng_float, intx
3535
from gnuradio import eng_notation
36-
from gnuradio.qtgui import Range, RangeWidget
36+
from gnuradio.qtgui import Range, GrRangeWidget
3737
from PyQt5 import QtCore
3838
import gnuradio.dect2 as dect2
3939
import osmosdr
@@ -113,14 +113,16 @@ def __init__(self, serial="0"):
113113
for c in range(0, 1):
114114
self.top_grid_layout.setColumnStretch(c, 1)
115115
self._rx_hackrf_gain_range = Range(0, 47, 1, 40, 200)
116-
self._rx_hackrf_gain_win = RangeWidget(self._rx_hackrf_gain_range, self.set_rx_hackrf_gain, " Gain:", "counter_slider", float, QtCore.Qt.Horizontal)
116+
self._rx_hackrf_gain_win = GrRangeWidget(self._rx_hackrf_gain_range, self.set_rx_hackrf_gain, " Gain:", "counter_slider", float, QtCore.Qt.Horizontal, "value")
117+
117118
self.top_grid_layout.addWidget(self._rx_hackrf_gain_win, 1, 0, 1, 4)
118119
for r in range(1, 2):
119120
self.top_grid_layout.setRowStretch(r, 1)
120121
for c in range(0, 4):
121122
self.top_grid_layout.setColumnStretch(c, 1)
122123
self._rx_frequency_range = Range(50, 6000, .1, 2412, 200)
123-
self._rx_frequency_win = RangeWidget(self._rx_frequency_range, self.set_rx_frequency, " Freq. (MHz):", "counter_slider", float, QtCore.Qt.Horizontal)
124+
self._rx_frequency_win = GrRangeWidget(self._rx_frequency_range, self.set_rx_frequency, " Freq. (MHz):", "counter_slider", float, QtCore.Qt.Horizontal, "value")
125+
124126
self.top_grid_layout.addWidget(self._rx_frequency_win, 2, 0, 1, 4)
125127
for r in range(2, 3):
126128
self.top_grid_layout.setRowStretch(r, 1)
@@ -203,7 +205,7 @@ def __init__(self, serial="0"):
203205
)
204206
self.osmosdr_source_0.set_time_unknown_pps(osmosdr.time_spec_t())
205207
self.osmosdr_source_0.set_sample_rate(sample_rate)
206-
self.osmosdr_source_0.set_center_freq(rx_frequency*1e6, 0)
208+
self.osmosdr_source_0.set_center_freq((rx_frequency*1e6), 0)
207209
self.osmosdr_source_0.set_freq_corr(0, 0)
208210
self.osmosdr_source_0.set_dc_offset_mode(0, 0)
209211
self.osmosdr_source_0.set_iq_balance_mode(0, 0)
@@ -260,7 +262,7 @@ def get_rx_frequency(self):
260262

261263
def set_rx_frequency(self, rx_frequency):
262264
self.rx_frequency = rx_frequency
263-
self.osmosdr_source_0.set_center_freq(self.rx_frequency*1e6, 0)
265+
self.osmosdr_source_0.set_center_freq((self.rx_frequency*1e6), 0)
264266

265267
def get_decimation(self):
266268
return self.decimation

Flow Graph Library/Inspection Flow Graphs/time_sink_1_10_100_bladerf2.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#
77
# GNU Radio Python Flow Graph
88
# Title: Time Sink 1 10 100 Bladerf2
9-
# GNU Radio version: 3.10.1.1
9+
# GNU Radio version: 3.10.4.0
1010

1111
from packaging.version import Version as StrictVersion
1212

@@ -33,7 +33,7 @@
3333
from argparse import ArgumentParser
3434
from gnuradio.eng_arg import eng_float, intx
3535
from gnuradio import eng_notation
36-
from gnuradio.qtgui import Range, RangeWidget
36+
from gnuradio.qtgui import Range, GrRangeWidget
3737
from PyQt5 import QtCore
3838
import osmosdr
3939
import time
@@ -111,14 +111,16 @@ def __init__(self, serial="0"):
111111
for c in range(0, 1):
112112
self.top_grid_layout.setColumnStretch(c, 1)
113113
self._rx_gain_range = Range(0, 47, 1, 40, 200)
114-
self._rx_gain_win = RangeWidget(self._rx_gain_range, self.set_rx_gain, " Gain:", "counter_slider", float, QtCore.Qt.Horizontal)
114+
self._rx_gain_win = GrRangeWidget(self._rx_gain_range, self.set_rx_gain, " Gain:", "counter_slider", float, QtCore.Qt.Horizontal, "value")
115+
115116
self.top_grid_layout.addWidget(self._rx_gain_win, 1, 0, 1, 4)
116117
for r in range(1, 2):
117118
self.top_grid_layout.setRowStretch(r, 1)
118119
for c in range(0, 4):
119120
self.top_grid_layout.setColumnStretch(c, 1)
120121
self._rx_frequency_range = Range(50, 3800, .1, 2412, 200)
121-
self._rx_frequency_win = RangeWidget(self._rx_frequency_range, self.set_rx_frequency, " Freq. (MHz):", "counter_slider", float, QtCore.Qt.Horizontal)
122+
self._rx_frequency_win = GrRangeWidget(self._rx_frequency_range, self.set_rx_frequency, " Freq. (MHz):", "counter_slider", float, QtCore.Qt.Horizontal, "value")
123+
122124
self.top_grid_layout.addWidget(self._rx_frequency_win, 2, 0, 1, 4)
123125
for r in range(2, 3):
124126
self.top_grid_layout.setRowStretch(r, 1)
@@ -294,7 +296,7 @@ def __init__(self, serial="0"):
294296
)
295297
self.osmosdr_source_0.set_time_unknown_pps(osmosdr.time_spec_t())
296298
self.osmosdr_source_0.set_sample_rate(sample_rate)
297-
self.osmosdr_source_0.set_center_freq(rx_frequency*1e6, 0)
299+
self.osmosdr_source_0.set_center_freq((rx_frequency*1e6), 0)
298300
self.osmosdr_source_0.set_freq_corr(0, 0)
299301
self.osmosdr_source_0.set_dc_offset_mode(0, 0)
300302
self.osmosdr_source_0.set_iq_balance_mode(0, 0)
@@ -355,7 +357,7 @@ def get_rx_frequency(self):
355357

356358
def set_rx_frequency(self, rx_frequency):
357359
self.rx_frequency = rx_frequency
358-
self.osmosdr_source_0.set_center_freq(self.rx_frequency*1e6, 0)
360+
self.osmosdr_source_0.set_center_freq((self.rx_frequency*1e6), 0)
359361

360362

361363

Flow Graph Library/Inspection Flow Graphs/time_sink_hackrf.grc

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ blocks:
7171
label: ' Freq. (MHz):'
7272
min_len: '200'
7373
orient: QtCore.Qt.Horizontal
74+
outputmsgname: value
7475
rangeType: float
76+
showports: 'False'
7577
start: '50'
7678
step: '.1'
7779
stop: '6000'
@@ -92,11 +94,13 @@ blocks:
9294
label: ' Gain:'
9395
min_len: '200'
9496
orient: QtCore.Qt.Horizontal
97+
outputmsgname: value
9598
rangeType: float
99+
showports: 'False'
96100
start: '0'
97101
step: '1'
98102
stop: '47'
99-
value: '40'
103+
value: '16'
100104
widget: counter_slider
101105
states:
102106
bus_sink: false
@@ -705,11 +709,36 @@ blocks:
705709
coordinate: [8, 76.0]
706710
rotation: 0
707711
state: true
712+
- name: soapy_hackrf_source_0
713+
id: soapy_hackrf_source
714+
parameters:
715+
affinity: ''
716+
alias: ''
717+
amp: 'False'
718+
bandwidth: sample_rate
719+
center_freq: rx_frequency
720+
comment: ''
721+
dev_args: '"hackrf="+serial'
722+
gain: rx_hackrf_gain
723+
maxoutbuf: '0'
724+
minoutbuf: '0'
725+
samp_rate: sample_rate
726+
type: fc32
727+
vga: '16'
728+
states:
729+
bus_sink: false
730+
bus_source: false
731+
bus_structure: null
732+
coordinate: [320, 348.0]
733+
rotation: 0
734+
state: disabled
708735

709736
connections:
710737
- [blocks_keep_one_in_n_0, '0', qtgui_freq_sink_x_0, '0']
711738
- [blocks_keep_one_in_n_0, '0', qtgui_time_sink_x_0, '0']
712739
- [osmosdr_source_0, '0', blocks_keep_one_in_n_0, '0']
740+
- [soapy_hackrf_source_0, '0', blocks_keep_one_in_n_0, '0']
713741

714742
metadata:
715743
file_format: 1
744+
grc_version: 3.10.4.0

Flow Graph Library/Inspection Flow Graphs/time_sink_hackrf.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#
77
# GNU Radio Python Flow Graph
88
# Title: Time Sink Hackrf
9-
# GNU Radio version: 3.10.1.1
9+
# GNU Radio version: 3.10.4.0
1010

1111
from packaging.version import Version as StrictVersion
1212

@@ -33,7 +33,7 @@
3333
from argparse import ArgumentParser
3434
from gnuradio.eng_arg import eng_float, intx
3535
from gnuradio import eng_notation
36-
from gnuradio.qtgui import Range, RangeWidget
36+
from gnuradio.qtgui import Range, GrRangeWidget
3737
from PyQt5 import QtCore
3838
import osmosdr
3939
import time
@@ -84,7 +84,7 @@ def __init__(self, serial="0"):
8484
# Variables
8585
##################################################
8686
self.sample_rate = sample_rate = 1e6
87-
self.rx_hackrf_gain = rx_hackrf_gain = 40
87+
self.rx_hackrf_gain = rx_hackrf_gain = 16
8888
self.rx_frequency = rx_frequency = 2412
8989
self.decimation = decimation = 1
9090

@@ -111,15 +111,17 @@ def __init__(self, serial="0"):
111111
self.top_grid_layout.setRowStretch(r, 1)
112112
for c in range(0, 1):
113113
self.top_grid_layout.setColumnStretch(c, 1)
114-
self._rx_hackrf_gain_range = Range(0, 47, 1, 40, 200)
115-
self._rx_hackrf_gain_win = RangeWidget(self._rx_hackrf_gain_range, self.set_rx_hackrf_gain, " Gain:", "counter_slider", float, QtCore.Qt.Horizontal)
114+
self._rx_hackrf_gain_range = Range(0, 47, 1, 16, 200)
115+
self._rx_hackrf_gain_win = GrRangeWidget(self._rx_hackrf_gain_range, self.set_rx_hackrf_gain, " Gain:", "counter_slider", float, QtCore.Qt.Horizontal, "value")
116+
116117
self.top_grid_layout.addWidget(self._rx_hackrf_gain_win, 1, 0, 1, 4)
117118
for r in range(1, 2):
118119
self.top_grid_layout.setRowStretch(r, 1)
119120
for c in range(0, 4):
120121
self.top_grid_layout.setColumnStretch(c, 1)
121122
self._rx_frequency_range = Range(50, 6000, .1, 2412, 200)
122-
self._rx_frequency_win = RangeWidget(self._rx_frequency_range, self.set_rx_frequency, " Freq. (MHz):", "counter_slider", float, QtCore.Qt.Horizontal)
123+
self._rx_frequency_win = GrRangeWidget(self._rx_frequency_range, self.set_rx_frequency, " Freq. (MHz):", "counter_slider", float, QtCore.Qt.Horizontal, "value")
124+
123125
self.top_grid_layout.addWidget(self._rx_frequency_win, 2, 0, 1, 4)
124126
for r in range(2, 3):
125127
self.top_grid_layout.setRowStretch(r, 1)
@@ -210,7 +212,7 @@ def __init__(self, serial="0"):
210212
None # parent
211213
)
212214
self.qtgui_freq_sink_x_0.set_update_time(0.10)
213-
self.qtgui_freq_sink_x_0.set_y_axis(-140, 10)
215+
self.qtgui_freq_sink_x_0.set_y_axis((-140), 10)
214216
self.qtgui_freq_sink_x_0.set_y_label('Relative Gain', 'dB')
215217
self.qtgui_freq_sink_x_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, 0.0, 0, "")
216218
self.qtgui_freq_sink_x_0.enable_autoscale(False)
@@ -251,7 +253,7 @@ def __init__(self, serial="0"):
251253
)
252254
self.osmosdr_source_0.set_time_unknown_pps(osmosdr.time_spec_t())
253255
self.osmosdr_source_0.set_sample_rate(sample_rate)
254-
self.osmosdr_source_0.set_center_freq(rx_frequency*1e6, 0)
256+
self.osmosdr_source_0.set_center_freq((rx_frequency*1e6), 0)
255257
self.osmosdr_source_0.set_freq_corr(0, 0)
256258
self.osmosdr_source_0.set_dc_offset_mode(0, 0)
257259
self.osmosdr_source_0.set_iq_balance_mode(0, 0)
@@ -308,7 +310,7 @@ def get_rx_frequency(self):
308310

309311
def set_rx_frequency(self, rx_frequency):
310312
self.rx_frequency = rx_frequency
311-
self.osmosdr_source_0.set_center_freq(self.rx_frequency*1e6, 0)
313+
self.osmosdr_source_0.set_center_freq((self.rx_frequency*1e6), 0)
312314

313315
def get_decimation(self):
314316
return self.decimation

0 commit comments

Comments
 (0)