hardsploit_gui 2.3 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +22 -22
- data/Rakefile +1 -1
- data/bin/hardsploit_gui +3 -3
- data/lib/Firmwares/FPGA/I2C/I2C_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_I2C_INTERACT.rpd +0 -0
- data/lib/Firmwares/FPGA/PARALLEL/NO_MUX_PARALLEL_MEMORY/HARDSPLOIT_FIRMWARE_FPGA_NO_MUX_PARALLEL_MEMORY.rpd +0 -0
- data/lib/Firmwares/FPGA/SPI/SPI_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SPI_INTERACT.rpd +0 -0
- data/lib/Firmwares/FPGA/SPI/SPI_SNIFFER/HARDSPLOIT_FIRMWARE_FPGA_SPI_SNIFFER.rpd +0 -0
- data/lib/Firmwares/FPGA/SWD/SWD_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SWD_INTERACT.rpd +0 -0
- data/lib/Firmwares/FPGA/UART/UART_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_UART_INTERACT.rpd +0 -0
- data/lib/Firmwares/FPGA/VersionFPGA.rb +5 -5
- data/lib/Firmwares/UC/VersionUC.rb +12 -12
- data/lib/HardsploitAPI/Core/HardsploitAPI.rb +210 -210
- data/lib/HardsploitAPI/Core/HardsploitAPI_CONSTANT.rb +150 -150
- data/lib/HardsploitAPI/Core/HardsploitAPI_ERROR.rb +109 -109
- data/lib/HardsploitAPI/Core/HardsploitAPI_FIRMWARE.rb +305 -305
- data/lib/HardsploitAPI/Core/HardsploitAPI_PROGRESS.rb +28 -28
- data/lib/HardsploitAPI/Core/HardsploitAPI_USB_COMMUNICATION.rb +166 -166
- data/lib/HardsploitAPI/Modules/I2C/HardsploitAPI_I2C.rb +356 -356
- data/lib/HardsploitAPI/Modules/NO_MUX_PARALLEL_MEMORY/HardsploitAPI_NO_MUX_PARALLEL_MEMORY.rb +206 -206
- data/lib/HardsploitAPI/Modules/NRF24L01/HardsploitAPI_NRF24L01.rb +306 -306
- data/lib/HardsploitAPI/Modules/SPI/HardsploitAPI_SPI.rb +340 -340
- data/lib/HardsploitAPI/Modules/SPI_SNIFFER/HardsploitAPI_SPI_SNIFFER.rb +83 -83
- data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD.rb +367 -367
- data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD_DEBUG.rb +89 -89
- data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD_MEM_AP.rb +61 -61
- data/lib/HardsploitAPI/Modules/SWD/HardsploitAPI_SWD_STM32.rb +121 -121
- data/lib/HardsploitAPI/Modules/TEST/HardsploitAPI_TEST_INTERACT.rb +98 -98
- data/lib/HardsploitAPI/Modules/UART/HardsploitAPI_UART.rb +196 -196
- data/lib/Hardsploit_gui.rb +96 -96
- data/lib/LICENSE.txt +674 -674
- data/lib/README.md +22 -22
- data/lib/TRADEMARK +2 -2
- data/lib/class/Chip_editor.rb +304 -304
- data/lib/class/Chip_management.rb +496 -496
- data/lib/class/Command_editor.rb +216 -216
- data/lib/class/Command_table.rb +233 -233
- data/lib/class/Console.rb +26 -26
- data/lib/class/ErrorMsg.rb +312 -312
- data/lib/class/Export.rb +140 -140
- data/lib/class/Export_manager.rb +124 -124
- data/lib/class/Firmware.rb +70 -70
- data/lib/class/Generic_commands.rb +260 -260
- data/lib/class/{i2c → I2C}/I2c_command.rb +51 -51
- data/lib/class/{i2c → I2C}/I2c_export.rb +95 -95
- data/lib/class/{i2c → I2C}/I2c_import.rb +117 -117
- data/lib/class/{i2c → I2C}/I2c_scanner.rb +114 -114
- data/lib/class/{i2c → I2C}/I2c_settings.rb +148 -148
- data/lib/class/Import.rb +193 -193
- data/lib/class/{parallel → PARALLEL}/Parallel_export.rb +118 -118
- data/lib/class/{parallel → PARALLEL}/Parallel_import.rb +113 -113
- data/lib/class/{parallel → PARALLEL}/Parallel_settings.rb +81 -81
- data/lib/class/Progress_bar.rb +32 -32
- data/lib/class/{spi → SPI}/Spi_export.rb +108 -108
- data/lib/class/{spi → SPI}/Spi_import.rb +159 -159
- data/lib/class/{spi → SPI}/Spi_settings.rb +108 -108
- data/lib/class/{spi → SPI}/Spi_sniffer.rb +101 -101
- data/lib/class/Signal_mapper.rb +120 -120
- data/lib/class/Wire_helper.rb +230 -230
- data/lib/class/swd/Swd.rb +125 -125
- data/lib/class/swd/Swd_scanner.rb +121 -121
- data/lib/class/swd/Swd_settings.rb +76 -76
- data/lib/class/uart/Uart_baudrate.rb +62 -62
- data/lib/class/uart/Uart_console.rb +115 -115
- data/lib/class/uart/Uart_settings.rb +102 -102
- data/lib/db/associations.rb +138 -138
- data/lib/db/database.rb +4 -4
- data/lib/db/development.sqlite3 +0 -0
- data/lib/db/migrate/004_create_manufacturers.rb +13 -13
- data/lib/db/migrate/005_create_packages.rb +13 -13
- data/lib/db/migrate/006_create_chip_types.rb +11 -11
- data/lib/db/migrate/007_create_buses.rb +11 -11
- data/lib/db/migrate/008_create_signals.rb +14 -14
- data/lib/db/migrate/009_create_chips.rb +25 -25
- data/lib/db/migrate/010_create_commands.rb +21 -21
- data/lib/db/migrate/011_create_bytes.rb +19 -19
- data/lib/db/migrate/012_create_i2c_settings.rb +21 -21
- data/lib/db/migrate/013_create_spi_settings.rb +26 -26
- data/lib/db/migrate/014_create_parallel_settings.rb +21 -21
- data/lib/db/migrate/015_create_pins.rb +19 -19
- data/lib/db/migrate/016_create_uses.rb +17 -17
- data/lib/db/migrate/017_create_swd_settings.rb +19 -19
- data/lib/db/migrate/018_create_uart_settings.rb +22 -22
- data/lib/db/schema.rb +157 -157
- data/lib/db/seeds.rb +161 -161
- data/lib/gui/gui_chip_editor.rb +349 -349
- data/lib/gui/gui_chip_management.rb +377 -377
- data/lib/gui/gui_command_editor.rb +219 -219
- data/lib/gui/gui_export.rb +132 -132
- data/lib/gui/gui_export_manager.rb +93 -93
- data/lib/gui/gui_generic_commands.rb +202 -202
- data/lib/gui/gui_generic_export.rb +164 -164
- data/lib/gui/gui_generic_import.rb +142 -142
- data/lib/gui/gui_i2c_command.rb +116 -116
- data/lib/gui/gui_i2c_settings.rb +230 -230
- data/lib/gui/gui_import.rb +131 -131
- data/lib/gui/gui_parallel_settings.rb +195 -195
- data/lib/gui/gui_progress_bar.rb +85 -85
- data/lib/gui/gui_signal_mapper.rb +121 -121
- data/lib/gui/gui_signal_scanner.rb +146 -146
- data/lib/gui/gui_spi_import.rb +126 -126
- data/lib/gui/gui_spi_settings.rb +313 -313
- data/lib/gui/gui_spi_sniffer.rb +112 -112
- data/lib/gui/gui_swd_settings.rb +166 -166
- data/lib/gui/gui_uart_baudrate.rb +114 -114
- data/lib/gui/gui_uart_console.rb +164 -164
- data/lib/gui/gui_uart_settings.rb +243 -243
- data/lib/gui/gui_wire_helper.rb +99 -99
- data/lib/gui_designer/gui_chip_editor.ui +549 -549
- data/lib/gui_designer/gui_chip_management.ui +886 -886
- data/lib/gui_designer/gui_command_editor.ui +350 -350
- data/lib/gui_designer/gui_export.ui +171 -171
- data/lib/gui_designer/gui_export_manager.ui +115 -115
- data/lib/gui_designer/gui_generic_commands.ui +342 -342
- data/lib/gui_designer/gui_generic_export.ui +202 -202
- data/lib/gui_designer/gui_generic_import.ui +165 -165
- data/lib/gui_designer/gui_i2c_command.ui +148 -148
- data/lib/gui_designer/gui_i2c_settings.ui +292 -292
- data/lib/gui_designer/gui_import.ui +168 -168
- data/lib/gui_designer/gui_parallel_settings.ui +247 -247
- data/lib/gui_designer/gui_progress_bar.ui +86 -86
- data/lib/gui_designer/gui_signal_mapper.ui +179 -179
- data/lib/gui_designer/gui_signal_scanner.ui +261 -261
- data/lib/gui_designer/gui_spi_settings.ui +446 -446
- data/lib/gui_designer/gui_spi_sniffer.ui +156 -156
- data/lib/gui_designer/gui_swd_settings.ui +189 -189
- data/lib/gui_designer/gui_uart_baudrate.ui +161 -161
- data/lib/gui_designer/gui_uart_console.ui +284 -284
- data/lib/gui_designer/gui_uart_settings.ui +280 -280
- data/lib/gui_designer/gui_wire_helper.ui +117 -117
- data/lib/images/search.png +0 -0
- data/lib/logs/error.log +0 -63
- data/lib/models/bus.rb +19 -19
- data/lib/models/byte.rb +29 -29
- data/lib/models/chip.rb +41 -41
- data/lib/models/chip_type.rb +14 -14
- data/lib/models/command.rb +20 -20
- data/lib/models/i2c_setting.rb +41 -41
- data/lib/models/manufacturer.rb +14 -14
- data/lib/models/package.rb +26 -26
- data/lib/models/parallel_setting.rb +37 -37
- data/lib/models/pin.rb +14 -14
- data/lib/models/signall.rb +20 -20
- data/lib/models/spi_setting.rb +67 -67
- data/lib/models/swd_setting.rb +25 -25
- data/lib/models/uart_setting.rb +52 -52
- data/lib/models/use.rb +6 -6
- data/lib/startHardsploit.rb +10 -10
- metadata +14 -14
@@ -1,113 +1,113 @@
|
|
1
|
-
#===================================================
|
2
|
-
# Hardsploit GUI - By Opale Security
|
3
|
-
# www.opale-security.com || www.hardsploit.io
|
4
|
-
# License: GNU General Public License v3
|
5
|
-
# License URI: http://www.gnu.org/licenses/gpl.txt
|
6
|
-
#===================================================
|
7
|
-
|
8
|
-
require_relative '../../gui/gui_generic_import'
|
9
|
-
|
10
|
-
class Parallel_import < Qt::Widget
|
11
|
-
slots 'import()'
|
12
|
-
slots 'select_import_file()'
|
13
|
-
|
14
|
-
def initialize(chip)
|
15
|
-
super()
|
16
|
-
@view = Ui_Generic_import.new
|
17
|
-
centerWindow(self)
|
18
|
-
@view.setupUi(self)
|
19
|
-
@view.lbl_chip.setText(chip.reference)
|
20
|
-
inputRestrict(@view.lie_start, 0)
|
21
|
-
end
|
22
|
-
|
23
|
-
def select_import_file
|
24
|
-
@filepath = Qt::FileDialog.getOpenFileName(self, tr('Select a file'), '/', tr('Bin file (*.bin)'))
|
25
|
-
unless @filepath.nil?
|
26
|
-
$file = File.open("#{@filepath}", 'w')
|
27
|
-
@view.btn_import.setEnabled(true)
|
28
|
-
end
|
29
|
-
rescue Exception => msg
|
30
|
-
ErrorMsg.new.unknow(msg)
|
31
|
-
end
|
32
|
-
|
33
|
-
def close_file
|
34
|
-
unless $file.nil?
|
35
|
-
$file.close
|
36
|
-
end
|
37
|
-
rescue Exception => msg
|
38
|
-
ErrorMsg.new.unknow(msg)
|
39
|
-
end
|
40
|
-
|
41
|
-
def import
|
42
|
-
return 0 if control_import_settings.zero?
|
43
|
-
start = @view.lie_start.text.to_i
|
44
|
-
Firmware.new('PARALLEL')
|
45
|
-
time = Time.new
|
46
|
-
# API COMMAND GOES HERE
|
47
|
-
rescue HardsploitAPI::ERROR::HARDSPLOIT_NOT_FOUND
|
48
|
-
ErrorMsg.new.hardsploit_not_found
|
49
|
-
return false
|
50
|
-
rescue HardsploitAPI::ERROR::USB_ERROR
|
51
|
-
ErrorMsg.new.usb_error
|
52
|
-
return false
|
53
|
-
rescue HardsploitAPI::ERROR::PARALLEL_ERROR
|
54
|
-
ErrorMsg.new.swd_error
|
55
|
-
return false
|
56
|
-
rescue Exception => msg
|
57
|
-
ErrorMsg.new.unknown(msg)
|
58
|
-
return false
|
59
|
-
end
|
60
|
-
|
61
|
-
def control_import_settings
|
62
|
-
file_size = File.size("#{@filepath}")
|
63
|
-
if @chip.parallel_setting.nil?
|
64
|
-
Qt::MessageBox.new(
|
65
|
-
Qt::MessageBox::Warning,
|
66
|
-
'Missing parallel settings',
|
67
|
-
'No settings saved for this chip'
|
68
|
-
).exec
|
69
|
-
return 0
|
70
|
-
end
|
71
|
-
if @chip.parallel_setting.total_size.nil? || @chip.parallel_setting.word_size.nil?
|
72
|
-
Qt::MessageBox.new(
|
73
|
-
Qt::MessageBox::Warning,
|
74
|
-
'Missing parallel settings',
|
75
|
-
'Total size or word size settings missing'
|
76
|
-
).exec
|
77
|
-
return 0
|
78
|
-
end
|
79
|
-
if @chip.parallel_setting.page_size.nil? || @chip.parallel_setting.write_latency.nil?
|
80
|
-
Qt::MessageBox.new(
|
81
|
-
Qt::MessageBox::Warning,
|
82
|
-
'Missing parallel settings',
|
83
|
-
'Page size or write latency settings missing'
|
84
|
-
).exec
|
85
|
-
return 0
|
86
|
-
end
|
87
|
-
if @view.lie_start.text.empty?
|
88
|
-
Qt::MessageBox.new(
|
89
|
-
Qt::MessageBox::Warning,
|
90
|
-
'Missing start address',
|
91
|
-
'Please fill the start address field'
|
92
|
-
).exec
|
93
|
-
return 0
|
94
|
-
end
|
95
|
-
if file_size > @chip.parallel_setting.total_size
|
96
|
-
Qt::MessageBox.new(
|
97
|
-
Qt::MessageBox::Warning,
|
98
|
-
'Incorrect file size',
|
99
|
-
'The file size is superior to the chip capacity'
|
100
|
-
).exec
|
101
|
-
return 0
|
102
|
-
end
|
103
|
-
if file_size > (@chip.parallel_setting.total_size - @view.lie_start)
|
104
|
-
Qt::MessageBox.new(
|
105
|
-
Qt::MessageBox::Warning,
|
106
|
-
'Incorrect file size',
|
107
|
-
'Starting at this address, the file size is superior to the chip capacity'
|
108
|
-
).exec
|
109
|
-
return 0
|
110
|
-
end
|
111
|
-
return 1
|
112
|
-
end
|
113
|
-
end
|
1
|
+
#===================================================
|
2
|
+
# Hardsploit GUI - By Opale Security
|
3
|
+
# www.opale-security.com || www.hardsploit.io
|
4
|
+
# License: GNU General Public License v3
|
5
|
+
# License URI: http://www.gnu.org/licenses/gpl.txt
|
6
|
+
#===================================================
|
7
|
+
|
8
|
+
require_relative '../../gui/gui_generic_import'
|
9
|
+
|
10
|
+
class Parallel_import < Qt::Widget
|
11
|
+
slots 'import()'
|
12
|
+
slots 'select_import_file()'
|
13
|
+
|
14
|
+
def initialize(chip)
|
15
|
+
super()
|
16
|
+
@view = Ui_Generic_import.new
|
17
|
+
centerWindow(self)
|
18
|
+
@view.setupUi(self)
|
19
|
+
@view.lbl_chip.setText(chip.reference)
|
20
|
+
inputRestrict(@view.lie_start, 0)
|
21
|
+
end
|
22
|
+
|
23
|
+
def select_import_file
|
24
|
+
@filepath = Qt::FileDialog.getOpenFileName(self, tr('Select a file'), '/', tr('Bin file (*.bin)'))
|
25
|
+
unless @filepath.nil?
|
26
|
+
$file = File.open("#{@filepath}", 'w')
|
27
|
+
@view.btn_import.setEnabled(true)
|
28
|
+
end
|
29
|
+
rescue Exception => msg
|
30
|
+
ErrorMsg.new.unknow(msg)
|
31
|
+
end
|
32
|
+
|
33
|
+
def close_file
|
34
|
+
unless $file.nil?
|
35
|
+
$file.close
|
36
|
+
end
|
37
|
+
rescue Exception => msg
|
38
|
+
ErrorMsg.new.unknow(msg)
|
39
|
+
end
|
40
|
+
|
41
|
+
def import
|
42
|
+
return 0 if control_import_settings.zero?
|
43
|
+
start = @view.lie_start.text.to_i
|
44
|
+
Firmware.new('PARALLEL')
|
45
|
+
time = Time.new
|
46
|
+
# API COMMAND GOES HERE
|
47
|
+
rescue HardsploitAPI::ERROR::HARDSPLOIT_NOT_FOUND
|
48
|
+
ErrorMsg.new.hardsploit_not_found
|
49
|
+
return false
|
50
|
+
rescue HardsploitAPI::ERROR::USB_ERROR
|
51
|
+
ErrorMsg.new.usb_error
|
52
|
+
return false
|
53
|
+
rescue HardsploitAPI::ERROR::PARALLEL_ERROR
|
54
|
+
ErrorMsg.new.swd_error
|
55
|
+
return false
|
56
|
+
rescue Exception => msg
|
57
|
+
ErrorMsg.new.unknown(msg)
|
58
|
+
return false
|
59
|
+
end
|
60
|
+
|
61
|
+
def control_import_settings
|
62
|
+
file_size = File.size("#{@filepath}")
|
63
|
+
if @chip.parallel_setting.nil?
|
64
|
+
Qt::MessageBox.new(
|
65
|
+
Qt::MessageBox::Warning,
|
66
|
+
'Missing parallel settings',
|
67
|
+
'No settings saved for this chip'
|
68
|
+
).exec
|
69
|
+
return 0
|
70
|
+
end
|
71
|
+
if @chip.parallel_setting.total_size.nil? || @chip.parallel_setting.word_size.nil?
|
72
|
+
Qt::MessageBox.new(
|
73
|
+
Qt::MessageBox::Warning,
|
74
|
+
'Missing parallel settings',
|
75
|
+
'Total size or word size settings missing'
|
76
|
+
).exec
|
77
|
+
return 0
|
78
|
+
end
|
79
|
+
if @chip.parallel_setting.page_size.nil? || @chip.parallel_setting.write_latency.nil?
|
80
|
+
Qt::MessageBox.new(
|
81
|
+
Qt::MessageBox::Warning,
|
82
|
+
'Missing parallel settings',
|
83
|
+
'Page size or write latency settings missing'
|
84
|
+
).exec
|
85
|
+
return 0
|
86
|
+
end
|
87
|
+
if @view.lie_start.text.empty?
|
88
|
+
Qt::MessageBox.new(
|
89
|
+
Qt::MessageBox::Warning,
|
90
|
+
'Missing start address',
|
91
|
+
'Please fill the start address field'
|
92
|
+
).exec
|
93
|
+
return 0
|
94
|
+
end
|
95
|
+
if file_size > @chip.parallel_setting.total_size
|
96
|
+
Qt::MessageBox.new(
|
97
|
+
Qt::MessageBox::Warning,
|
98
|
+
'Incorrect file size',
|
99
|
+
'The file size is superior to the chip capacity'
|
100
|
+
).exec
|
101
|
+
return 0
|
102
|
+
end
|
103
|
+
if file_size > (@chip.parallel_setting.total_size - @view.lie_start)
|
104
|
+
Qt::MessageBox.new(
|
105
|
+
Qt::MessageBox::Warning,
|
106
|
+
'Incorrect file size',
|
107
|
+
'Starting at this address, the file size is superior to the chip capacity'
|
108
|
+
).exec
|
109
|
+
return 0
|
110
|
+
end
|
111
|
+
return 1
|
112
|
+
end
|
113
|
+
end
|
@@ -1,81 +1,81 @@
|
|
1
|
-
#===================================================
|
2
|
-
# Hardsploit GUI - By Opale Security
|
3
|
-
# www.opale-security.com || www.hardsploit.io
|
4
|
-
# License: GNU General Public License v3
|
5
|
-
# License URI: http://www.gnu.org/licenses/gpl.txt
|
6
|
-
#===================================================
|
7
|
-
|
8
|
-
require_relative '../../gui/gui_parallel_settings'
|
9
|
-
class Parallel_settings < Qt::Widget
|
10
|
-
slots 'save_settings()'
|
11
|
-
|
12
|
-
def initialize(chip)
|
13
|
-
super()
|
14
|
-
@view = Ui_Parallel_settings.new
|
15
|
-
centerWindow(self)
|
16
|
-
@view.setupUi(self)
|
17
|
-
@view.lbl_chip.setText(chip.reference)
|
18
|
-
inputRestrict(@view.lie_total_size, 0)
|
19
|
-
inputRestrict(@view.lie_write_latency, 0)
|
20
|
-
inputRestrict(@view.lie_read_latency, 0)
|
21
|
-
inputRestrict(@view.lie_page_size, 0)
|
22
|
-
@chip = chip
|
23
|
-
feed_settings_form unless @chip.parallel_setting.nil?
|
24
|
-
end
|
25
|
-
|
26
|
-
def save_settings
|
27
|
-
@chip.parallel_setting.nil? ? create : update
|
28
|
-
@chip.reload
|
29
|
-
end
|
30
|
-
|
31
|
-
def feed_settings_form
|
32
|
-
@view.lie_read_latency.setText(@chip.parallel_setting.read_latency.to_s)
|
33
|
-
@view.lie_write_latency.setText(@chip.parallel_setting.write_latency.to_s)
|
34
|
-
@view.lie_page_size.setText(@chip.parallel_setting.page_size.to_s)
|
35
|
-
@view.lie_total_size.setText(@chip.parallel_setting.total_size.to_s)
|
36
|
-
@view.rbn_16b.setChecked(true) unless @chip.parallel_setting.word_size.zero?
|
37
|
-
end
|
38
|
-
|
39
|
-
def create
|
40
|
-
@view.rbn_8b.isChecked ? word_size = 0 : word_size = 1
|
41
|
-
chip_setting = ParallelSetting.create(
|
42
|
-
total_size: @view.lie_total_size.text,
|
43
|
-
page_size: @view.lie_page_size.text,
|
44
|
-
word_size: word_size,
|
45
|
-
read_latency: @view.lie_read_latency.text,
|
46
|
-
write_latency: @view.lie_write_latency.text,
|
47
|
-
chip_id: @chip.id
|
48
|
-
)
|
49
|
-
unless check_for_errors(chip_setting)
|
50
|
-
Qt::MessageBox.new(
|
51
|
-
Qt::MessageBox::Information,
|
52
|
-
'Succes',
|
53
|
-
'Parallel settings saved'
|
54
|
-
).exec
|
55
|
-
close
|
56
|
-
end
|
57
|
-
rescue Exception => msg
|
58
|
-
ErrorMsg.new.unknown(msg)
|
59
|
-
end
|
60
|
-
|
61
|
-
def update
|
62
|
-
@view.rbn_8b.isChecked ? word_size = 0 : word_size = 1
|
63
|
-
@chip.parallel_setting.update(
|
64
|
-
total_size: @view.lie_total_size.text,
|
65
|
-
page_size: @view.lie_page_size.text,
|
66
|
-
word_size: word_size,
|
67
|
-
read_latency: @view.lie_read_latency.text,
|
68
|
-
write_latency: @view.lie_write_latency.text
|
69
|
-
)
|
70
|
-
unless check_for_errors(@chip.parallel_setting)
|
71
|
-
Qt::MessageBox.new(
|
72
|
-
Qt::MessageBox::Information,
|
73
|
-
'Succes',
|
74
|
-
'Parallel settings updated'
|
75
|
-
).exec
|
76
|
-
close
|
77
|
-
end
|
78
|
-
rescue Exception => msg
|
79
|
-
ErrorMsg.new.unknown(msg)
|
80
|
-
end
|
81
|
-
end
|
1
|
+
#===================================================
|
2
|
+
# Hardsploit GUI - By Opale Security
|
3
|
+
# www.opale-security.com || www.hardsploit.io
|
4
|
+
# License: GNU General Public License v3
|
5
|
+
# License URI: http://www.gnu.org/licenses/gpl.txt
|
6
|
+
#===================================================
|
7
|
+
|
8
|
+
require_relative '../../gui/gui_parallel_settings'
|
9
|
+
class Parallel_settings < Qt::Widget
|
10
|
+
slots 'save_settings()'
|
11
|
+
|
12
|
+
def initialize(chip)
|
13
|
+
super()
|
14
|
+
@view = Ui_Parallel_settings.new
|
15
|
+
centerWindow(self)
|
16
|
+
@view.setupUi(self)
|
17
|
+
@view.lbl_chip.setText(chip.reference)
|
18
|
+
inputRestrict(@view.lie_total_size, 0)
|
19
|
+
inputRestrict(@view.lie_write_latency, 0)
|
20
|
+
inputRestrict(@view.lie_read_latency, 0)
|
21
|
+
inputRestrict(@view.lie_page_size, 0)
|
22
|
+
@chip = chip
|
23
|
+
feed_settings_form unless @chip.parallel_setting.nil?
|
24
|
+
end
|
25
|
+
|
26
|
+
def save_settings
|
27
|
+
@chip.parallel_setting.nil? ? create : update
|
28
|
+
@chip.reload
|
29
|
+
end
|
30
|
+
|
31
|
+
def feed_settings_form
|
32
|
+
@view.lie_read_latency.setText(@chip.parallel_setting.read_latency.to_s)
|
33
|
+
@view.lie_write_latency.setText(@chip.parallel_setting.write_latency.to_s)
|
34
|
+
@view.lie_page_size.setText(@chip.parallel_setting.page_size.to_s)
|
35
|
+
@view.lie_total_size.setText(@chip.parallel_setting.total_size.to_s)
|
36
|
+
@view.rbn_16b.setChecked(true) unless @chip.parallel_setting.word_size.zero?
|
37
|
+
end
|
38
|
+
|
39
|
+
def create
|
40
|
+
@view.rbn_8b.isChecked ? word_size = 0 : word_size = 1
|
41
|
+
chip_setting = ParallelSetting.create(
|
42
|
+
total_size: @view.lie_total_size.text,
|
43
|
+
page_size: @view.lie_page_size.text,
|
44
|
+
word_size: word_size,
|
45
|
+
read_latency: @view.lie_read_latency.text,
|
46
|
+
write_latency: @view.lie_write_latency.text,
|
47
|
+
chip_id: @chip.id
|
48
|
+
)
|
49
|
+
unless check_for_errors(chip_setting)
|
50
|
+
Qt::MessageBox.new(
|
51
|
+
Qt::MessageBox::Information,
|
52
|
+
'Succes',
|
53
|
+
'Parallel settings saved'
|
54
|
+
).exec
|
55
|
+
close
|
56
|
+
end
|
57
|
+
rescue Exception => msg
|
58
|
+
ErrorMsg.new.unknown(msg)
|
59
|
+
end
|
60
|
+
|
61
|
+
def update
|
62
|
+
@view.rbn_8b.isChecked ? word_size = 0 : word_size = 1
|
63
|
+
@chip.parallel_setting.update(
|
64
|
+
total_size: @view.lie_total_size.text,
|
65
|
+
page_size: @view.lie_page_size.text,
|
66
|
+
word_size: word_size,
|
67
|
+
read_latency: @view.lie_read_latency.text,
|
68
|
+
write_latency: @view.lie_write_latency.text
|
69
|
+
)
|
70
|
+
unless check_for_errors(@chip.parallel_setting)
|
71
|
+
Qt::MessageBox.new(
|
72
|
+
Qt::MessageBox::Information,
|
73
|
+
'Succes',
|
74
|
+
'Parallel settings updated'
|
75
|
+
).exec
|
76
|
+
close
|
77
|
+
end
|
78
|
+
rescue Exception => msg
|
79
|
+
ErrorMsg.new.unknown(msg)
|
80
|
+
end
|
81
|
+
end
|
data/lib/class/Progress_bar.rb
CHANGED
@@ -1,32 +1,32 @@
|
|
1
|
-
#===================================================
|
2
|
-
# Hardsploit GUI - By Opale Security
|
3
|
-
# www.opale-security.com || www.hardsploit.io
|
4
|
-
# License: GNU General Public License v3
|
5
|
-
# License URI: http://www.gnu.org/licenses/gpl.txt
|
6
|
-
#===================================================
|
7
|
-
|
8
|
-
require_relative '../gui/gui_progress_bar'
|
9
|
-
class Progress_bar < Qt::Widget
|
10
|
-
|
11
|
-
def initialize(status)
|
12
|
-
super()
|
13
|
-
@pgb_ui = Ui_Progress_bar.new
|
14
|
-
centerWindow(self)
|
15
|
-
@pgb_ui.setupUi(self)
|
16
|
-
self.update_status(status)
|
17
|
-
@pgb_ui.lbl_close.setEnabled(false)
|
18
|
-
self.display_time("Total duration:")
|
19
|
-
end
|
20
|
-
|
21
|
-
def update_status(status)
|
22
|
-
@pgb_ui.lbl_status.setText(status)
|
23
|
-
end
|
24
|
-
|
25
|
-
def update_value(value)
|
26
|
-
@pgb_ui.pgb.setValue(value) if value <= 100 && value >= 0
|
27
|
-
end
|
28
|
-
|
29
|
-
def display_time(time)
|
30
|
-
@pgb_ui.lbl_time.setText(time)
|
31
|
-
end
|
32
|
-
end
|
1
|
+
#===================================================
|
2
|
+
# Hardsploit GUI - By Opale Security
|
3
|
+
# www.opale-security.com || www.hardsploit.io
|
4
|
+
# License: GNU General Public License v3
|
5
|
+
# License URI: http://www.gnu.org/licenses/gpl.txt
|
6
|
+
#===================================================
|
7
|
+
|
8
|
+
require_relative '../gui/gui_progress_bar'
|
9
|
+
class Progress_bar < Qt::Widget
|
10
|
+
|
11
|
+
def initialize(status)
|
12
|
+
super()
|
13
|
+
@pgb_ui = Ui_Progress_bar.new
|
14
|
+
centerWindow(self)
|
15
|
+
@pgb_ui.setupUi(self)
|
16
|
+
self.update_status(status)
|
17
|
+
@pgb_ui.lbl_close.setEnabled(false)
|
18
|
+
self.display_time("Total duration:")
|
19
|
+
end
|
20
|
+
|
21
|
+
def update_status(status)
|
22
|
+
@pgb_ui.lbl_status.setText(status)
|
23
|
+
end
|
24
|
+
|
25
|
+
def update_value(value)
|
26
|
+
@pgb_ui.pgb.setValue(value) if value <= 100 && value >= 0
|
27
|
+
end
|
28
|
+
|
29
|
+
def display_time(time)
|
30
|
+
@pgb_ui.lbl_time.setText(time)
|
31
|
+
end
|
32
|
+
end
|