pwn 0.5.532 → 0.5.534
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/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +25 -3
- data/Gemfile +6 -5
- data/README.md +3 -3
- data/lib/pwn/plugins/burp_suite.rb +24 -10
- data/lib/pwn/plugins/file_fu.rb +50 -0
- data/lib/pwn/plugins/sock.rb +111 -48
- data/lib/pwn/sdr/decoder/flex.rb +257 -0
- data/lib/pwn/sdr/decoder/pocsag.rb +182 -57
- data/lib/pwn/sdr/decoder/rds.rb +4 -4
- data/lib/pwn/sdr/decoder.rb +1 -0
- data/lib/pwn/sdr/frequency_allocation.rb +13 -6
- data/lib/pwn/sdr/gqrx.rb +426 -170
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/sdr/decoder/flex_spec.rb +15 -0
- data/third_party/pwn_rdoc.jsonl +10 -7
- metadata +28 -12
data/lib/pwn/version.rb
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
|
|
5
|
+
describe PWN::SDR::Decoder::Flex do
|
|
6
|
+
it 'should display information for authors' do
|
|
7
|
+
authors_response = PWN::SDR::Decoder::Flex
|
|
8
|
+
expect(authors_response).to respond_to :authors
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'should display information for existing help method' do
|
|
12
|
+
help_response = PWN::SDR::Decoder::Flex
|
|
13
|
+
expect(help_response).to respond_to :help
|
|
14
|
+
end
|
|
15
|
+
end
|
data/third_party/pwn_rdoc.jsonl
CHANGED
|
@@ -1281,8 +1281,11 @@
|
|
|
1281
1281
|
{"messages":[{"role":"user","content":"PWN::SDR::Decoder::GSM.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GSM.help`: "}]}
|
|
1282
1282
|
{"messages":[{"role":"user","content":"PWN::SDR::Decoder::GSM.start Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GSM.start`: "}]}
|
|
1283
1283
|
{"messages":[{"role":"user","content":"PWN::SDR::Decoder::GSM.stop Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GSM.stop`: "}]}
|
|
1284
|
+
{"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
1285
|
+
{"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG.decode`: Supported Method Parameters\n\npocsag_resp = PWN::SDR::Decoder::POCSAG.decode(\n\nfreq_obj: 'required - GQRX socket object returned from #connect method'\n\n)\n"}]}
|
|
1286
|
+
{"messages":[{"role":"user","content":"PWN::SDR::Decoder::POCSAG.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::POCSAG.help`: "}]}
|
|
1284
1287
|
{"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
1285
|
-
{"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.decode`: Supported Method Parameters\n\nrds_resp = PWN::SDR::
|
|
1288
|
+
{"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.decode`: Supported Method Parameters\n\nrds_resp = PWN::SDR::Decoder::RDS.decode(\n\nfreq_obj: 'required - GQRX socket object returned from #connect method'\n\n)\n"}]}
|
|
1286
1289
|
{"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.help`: "}]}
|
|
1287
1290
|
{"messages":[{"role":"user","content":"PWN::SDR::FlipperZero.authors Usage"},{"role":"assistant","content":"`PWN::SDR::FlipperZero.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
1288
1291
|
{"messages":[{"role":"user","content":"PWN::SDR::FlipperZero.connect Usage"},{"role":"assistant","content":"`PWN::SDR::FlipperZero.connect`: Supported Method Parameters\n\nflipper_zero_obj = PWN::SDR::FlipperZero.connect(\n\nblock_dev: 'optional serial block device path (defaults to /dev/ttyACM0)',\nbaud: 'optional (defaults to 9600)',\ndata_bits: 'optional (defaults to 8)',\nstop_bits: 'optional (defaults to 1)',\nparity: 'optional - :even||:odd|:none (defaults to :none)'\n\n)\n"}]}
|
|
@@ -1291,21 +1294,21 @@
|
|
|
1291
1294
|
{"messages":[{"role":"user","content":"PWN::SDR::FlipperZero.help Usage"},{"role":"assistant","content":"`PWN::SDR::FlipperZero.help`: "}]}
|
|
1292
1295
|
{"messages":[{"role":"user","content":"PWN::SDR::FlipperZero.request Usage"},{"role":"assistant","content":"`PWN::SDR::FlipperZero.request`: Supported Method Parameters\n\nresponse = PWN::SDR::FlipperZero.request(\n\nflipper_zero_obj: 'required - flipper_zero_obj returned from #connect method',\npayload: 'optional - payload to send to the device (defaults to help)'\n\n)\n"}]}
|
|
1293
1296
|
{"messages":[{"role":"user","content":"PWN::SDR::FrequencyAllocation.authors Usage"},{"role":"assistant","content":"`PWN::SDR::FrequencyAllocation.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
1297
|
+
{"messages":[{"role":"user","content":"PWN::SDR::FrequencyAllocation.band_plans Usage"},{"role":"assistant","content":"`PWN::SDR::FrequencyAllocation.band_plans`: Supported Method Parameters\n\nband_plans = PWN::SDR::FrequencyAllocation.band_plans\n"}]}
|
|
1294
1298
|
{"messages":[{"role":"user","content":"PWN::SDR::FrequencyAllocation.help Usage"},{"role":"assistant","content":"`PWN::SDR::FrequencyAllocation.help`: "}]}
|
|
1295
|
-
{"messages":[{"role":"user","content":"PWN::SDR::FrequencyAllocation.profiles Usage"},{"role":"assistant","content":"`PWN::SDR::FrequencyAllocation.profiles`: Supported Method Parameters\n\nprofiles = PWN::SDR::FrequencyAllocation.profiles\n"}]}
|
|
1296
1299
|
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.analyze_log Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.analyze_log`: Supported Method Parameters\n\nPWN::SDR::GQRX.analyze_log(\n\nscan_log: 'required - Path to signals log file',\ntarget: 'optional - GQRX target IP address (defaults to 127.0.0.1)',\nport: 'optional - GQRX target port (defaults to 7356)'\n\n)\n"}]}
|
|
1297
1300
|
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.analyze_scan Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.analyze_scan`: Supported Method Parameters\n\nPWN::SDR::GQRX.analyze_scan(\n\nscan_resp: 'required - Scan response hash returned from #scan_range method',\ntarget: 'optional - GQRX target IP address (defaults to 127.0.0.1)',\nport: 'optional - GQRX target port (defaults to 7356)'\n\n)\n"}]}
|
|
1298
1301
|
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.authors Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
1302
|
+
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.cmd Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.cmd`: Supported Method Parameters\n\ngqrx_resp = PWN::SDR::GQRX.cmd(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\ncmd: 'required - GQRX command to execute',\nresp_ok: 'optional - Expected response from GQRX to indicate success'\n\n)\n"}]}
|
|
1299
1303
|
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.connect Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.connect`: Supported Method Parameters\n\ngqrx_sock = PWN::SDR::GQRX.connect(\n\ntarget: 'optional - GQRX target IP address (defaults to 127.0.0.1)',\nport: 'optional - GQRX target port (defaults to 7356)'\n\n)\n"}]}
|
|
1300
1304
|
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.disconnect Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.disconnect`: Supported Method Parameters\n\nPWN::SDR::GQRX.disconnect(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method'\n\n)\n"}]}
|
|
1301
|
-
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.edge_detection Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.edge_detection`: Supported Method Parameters\n\ncandidate_signals = PWN::SDR::GQRX.edge_detection(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nhz: 'required - Frequency to start edge detection from',\nstep_hz: 'required - Frequency step in Hz for edge detection',\nstrength_lock: 'required - Strength lock in dBFS to determine signal edges'\n\n)\n"}]}
|
|
1305
|
+
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.edge_detection Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.edge_detection`: Supported Method Parameters\n\ncandidate_signals = PWN::SDR::GQRX.edge_detection(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nhz: 'required - Frequency to start edge detection from',\nprecision: 'required - Frequency step precision',\nstep_hz: 'required - Frequency step in Hz for edge detection',\nstrength_lock: 'required - Strength lock in dBFS to determine signal edges'\n\n)\n"}]}
|
|
1302
1306
|
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.find_best_peak Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.find_best_peak`: Supported Method Parameters\n\nbest_peak = PWN::SDR::GQRX.find_best_peak(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\ncandidate_signals: 'required - Array of candidate signals from edge_detection',\nstep_hz: 'required - Frequency step in Hz for peak finding',\nstrength_lock: 'required - Strength lock in dBFS to determine signal edges'\n\n)\n"}]}
|
|
1303
|
-
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.gqrx_cmd Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.gqrx_cmd`: Supported Method Parameters\n\ngqrx_resp = PWN::SDR::GQRX.gqrx_cmd(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\ncmd: 'required - GQRX command to execute',\nresp_ok: 'optional - Expected response from GQRX to indicate success'\n\n)\n"}]}
|
|
1304
1307
|
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.help Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.help`: "}]}
|
|
1305
|
-
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.init_freq Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.init_freq`: Supported Method Parameters\n\nfreq_obj = PWN::SDR::GQRX.init_freq(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nfreq: 'required - Frequency to set',\ndemodulator_mode: 'optional - Demodulator mode (defaults to WFM)',\nbandwidth: 'optional - Bandwidth (defaults to \"200.000\")',\nsquelch: 'optional - Squelch level to set (Defaults to current value)',\ndecoder: 'optional - Decoder key (e.g., :gsm) to start live decoding (starts recording if provided)',\nrecord_dir: 'optional - Directory where GQRX saves recordings (required if decoder provided; defaults to /tmp
|
|
1308
|
+
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.init_freq Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.init_freq`: Supported Method Parameters\n\nfreq_obj = PWN::SDR::GQRX.init_freq(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nfreq: 'required - Frequency to set',\ndemodulator_mode: 'optional - Demodulator mode (defaults to WFM)',\nbandwidth: 'optional - Bandwidth (defaults to \"200.000\")',\nsquelch: 'optional - Squelch level to set (Defaults to current value)',\ndecoder: 'optional - Decoder key (e.g., :gsm) to start live decoding (starts recording if provided)',\nrecord_dir: 'optional - Directory where GQRX saves recordings (required if decoder provided; defaults to /tmp)',\nsuppress_details: 'optional - Boolean to include extra frequency details in return hash (defaults to false)',\nkeep_alive: 'optional - Boolean to keep GQRX connection alive after method completion (defaults to false)'\n\n)\n"}]}
|
|
1306
1309
|
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.log_signals Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.log_signals`: Supported Method Parameters\n\nscan_resp = PWN::SDR::GQRX.log_signals(\n\nsignals_arr: 'required - Array of detected signals',\ntimestamp_start: 'required - Scan start timestamp',\nscan_log: 'required - Path to save detected signals log'\n\n)\n"}]}
|
|
1307
|
-
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.measure_signal_strength Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.measure_signal_strength`: Supported Method Parameters\n\nstrength_db = PWN::SDR::GQRX.measure_signal_strength(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nfreq: 'required - Frequency to measure signal strength',\nstrength_lock: 'optional - Strength lock in dBFS to determine signal edges (defaults to -70.0)',\nphase: 'optional - Phase of measurement for logging purposes (defaults to :find_candidates)'\n\n)\n"}]}
|
|
1308
|
-
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.scan_range Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.scan_range`: Supported Method Parameters\n\nscan_resp = PWN::SDR::GQRX.scan_range(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\
|
|
1310
|
+
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.measure_signal_strength Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.measure_signal_strength`: Supported Method Parameters\n\nstrength_db = PWN::SDR::GQRX.measure_signal_strength(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nfreq: 'required - Frequency to measure signal strength',\nprecision: 'required - Frequency step precision',\nstrength_lock: 'optional - Strength lock in dBFS to determine signal edges (defaults to -70.0)',\nphase: 'optional - Phase of measurement for logging purposes (defaults to :find_candidates)'\n\n)\n"}]}
|
|
1311
|
+
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.scan_range Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.scan_range`: Supported Method Parameters\n\nscan_resp = PWN::SDR::GQRX.scan_range(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nranges: 'required - Array of Hash objects with :start_freq and :target_freq keys defining scan ranges',\ndemodulator_mode: 'optional - Demodulator mode (e.g. WFM, AM, FM, USB, LSB, RAW, CW, RTTY / defaults to WFM)',\nbandwidth: 'optional - Bandwidth in Hz (Defaults to \"200.000\")',\nprecision: 'optional - Frequency step precision (number of digits; defaults to 1)',\nstrength_lock: 'optional - Strength lock in dBFS (defaults to -70.0)',\nsquelch: 'optional - Squelch level in dBFS (defaults to strength_lock - 3.0)',\naudio_gain_db: 'optional - Audio gain in dB (defaults to 6.0)',\nrf_gain: 'optional - RF gain (defaults to 0.0)',\nintermediate_gain: 'optional - Intermediate gain (defaults to 32.0)',\nbaseband_gain: 'optional - Baseband gain (defaults to 10.0)',\nkeep_looping: 'optional - Boolean to keep scanning indefinitely (defaults to false)',\nscan_log: 'optional - Path to save detected signals log (defaults to /tmp/pwn_sdr_gqrx_scan_<start_freq>-<target_freq>_<timestamp>_lN.json)',\nlocation: 'optional - Location string to include in AI analysis (e.g., \"New York, NY\", 90210, GPS coords, etc.)'\n\n)\n"}]}
|
|
1309
1312
|
{"messages":[{"role":"user","content":"PWN::SDR::GQRX.tune_to Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.tune_to`: Supported Method Parameters\n\ntune_resp = PWN::SDR::GQRX.tune_to(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nhz: 'required - Frequency to tune to'\n\n)\n"}]}
|
|
1310
1313
|
{"messages":[{"role":"user","content":"PWN::SDR::RFIDler.authors Usage"},{"role":"assistant","content":"`PWN::SDR::RFIDler.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
1311
1314
|
{"messages":[{"role":"user","content":"PWN::SDR::RFIDler.connect_via_screen Usage"},{"role":"assistant","content":"`PWN::SDR::RFIDler.connect_via_screen`: Supported Method Parameters\n\nPWN::SDR::RFIDler.connect_via_screen(\n\nblock_dev: 'optional - serial block device path (defaults to /dev/ttyUSB0)'\n\n)\n"}]}
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pwn
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.534
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- 0day Inc.
|
|
@@ -141,14 +141,14 @@ dependencies:
|
|
|
141
141
|
requirements:
|
|
142
142
|
- - ">="
|
|
143
143
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: 4.0.
|
|
144
|
+
version: 4.0.4
|
|
145
145
|
type: :development
|
|
146
146
|
prerelease: false
|
|
147
147
|
version_requirements: !ruby/object:Gem::Requirement
|
|
148
148
|
requirements:
|
|
149
149
|
- - ">="
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
|
-
version: 4.0.
|
|
151
|
+
version: 4.0.4
|
|
152
152
|
- !ruby/object:Gem::Dependency
|
|
153
153
|
name: bundler-audit
|
|
154
154
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -267,14 +267,14 @@ dependencies:
|
|
|
267
267
|
requirements:
|
|
268
268
|
- - '='
|
|
269
269
|
- !ruby/object:Gem::Version
|
|
270
|
-
version: 3.
|
|
270
|
+
version: 3.6.0
|
|
271
271
|
type: :runtime
|
|
272
272
|
prerelease: false
|
|
273
273
|
version_requirements: !ruby/object:Gem::Requirement
|
|
274
274
|
requirements:
|
|
275
275
|
- - '='
|
|
276
276
|
- !ruby/object:Gem::Version
|
|
277
|
-
version: 3.
|
|
277
|
+
version: 3.6.0
|
|
278
278
|
- !ruby/object:Gem::Dependency
|
|
279
279
|
name: faye-websocket
|
|
280
280
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -527,6 +527,20 @@ dependencies:
|
|
|
527
527
|
- - '='
|
|
528
528
|
- !ruby/object:Gem::Version
|
|
529
529
|
version: 2.9.0
|
|
530
|
+
- !ruby/object:Gem::Dependency
|
|
531
|
+
name: mcp
|
|
532
|
+
requirement: !ruby/object:Gem::Requirement
|
|
533
|
+
requirements:
|
|
534
|
+
- - '='
|
|
535
|
+
- !ruby/object:Gem::Version
|
|
536
|
+
version: 0.6.0
|
|
537
|
+
type: :runtime
|
|
538
|
+
prerelease: false
|
|
539
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
540
|
+
requirements:
|
|
541
|
+
- - '='
|
|
542
|
+
- !ruby/object:Gem::Version
|
|
543
|
+
version: 0.6.0
|
|
530
544
|
- !ruby/object:Gem::Dependency
|
|
531
545
|
name: meshtastic
|
|
532
546
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -813,14 +827,14 @@ dependencies:
|
|
|
813
827
|
requirements:
|
|
814
828
|
- - '='
|
|
815
829
|
- !ruby/object:Gem::Version
|
|
816
|
-
version: 1.
|
|
830
|
+
version: 1.7.0
|
|
817
831
|
type: :runtime
|
|
818
832
|
prerelease: false
|
|
819
833
|
version_requirements: !ruby/object:Gem::Requirement
|
|
820
834
|
requirements:
|
|
821
835
|
- - '='
|
|
822
836
|
- !ruby/object:Gem::Version
|
|
823
|
-
version: 1.
|
|
837
|
+
version: 1.7.0
|
|
824
838
|
- !ruby/object:Gem::Dependency
|
|
825
839
|
name: rake
|
|
826
840
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -869,14 +883,14 @@ dependencies:
|
|
|
869
883
|
requirements:
|
|
870
884
|
- - '='
|
|
871
885
|
- !ruby/object:Gem::Version
|
|
872
|
-
version: 7.0
|
|
886
|
+
version: 7.1.0
|
|
873
887
|
type: :development
|
|
874
888
|
prerelease: false
|
|
875
889
|
version_requirements: !ruby/object:Gem::Requirement
|
|
876
890
|
requirements:
|
|
877
891
|
- - '='
|
|
878
892
|
- !ruby/object:Gem::Version
|
|
879
|
-
version: 7.0
|
|
893
|
+
version: 7.1.0
|
|
880
894
|
- !ruby/object:Gem::Dependency
|
|
881
895
|
name: rest-client
|
|
882
896
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -1093,14 +1107,14 @@ dependencies:
|
|
|
1093
1107
|
requirements:
|
|
1094
1108
|
- - '='
|
|
1095
1109
|
- !ruby/object:Gem::Version
|
|
1096
|
-
version: 4.
|
|
1110
|
+
version: 4.40.0
|
|
1097
1111
|
type: :runtime
|
|
1098
1112
|
prerelease: false
|
|
1099
1113
|
version_requirements: !ruby/object:Gem::Requirement
|
|
1100
1114
|
requirements:
|
|
1101
1115
|
- - '='
|
|
1102
1116
|
- !ruby/object:Gem::Version
|
|
1103
|
-
version: 4.
|
|
1117
|
+
version: 4.40.0
|
|
1104
1118
|
- !ruby/object:Gem::Dependency
|
|
1105
1119
|
name: slack-ruby-client
|
|
1106
1120
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -2001,6 +2015,7 @@ files:
|
|
|
2001
2015
|
- lib/pwn/sast/window_location_hash.rb
|
|
2002
2016
|
- lib/pwn/sdr.rb
|
|
2003
2017
|
- lib/pwn/sdr/decoder.rb
|
|
2018
|
+
- lib/pwn/sdr/decoder/flex.rb
|
|
2004
2019
|
- lib/pwn/sdr/decoder/gsm.rb
|
|
2005
2020
|
- lib/pwn/sdr/decoder/pocsag.rb
|
|
2006
2021
|
- lib/pwn/sdr/decoder/rds.rb
|
|
@@ -2359,6 +2374,7 @@ files:
|
|
|
2359
2374
|
- spec/lib/pwn/sast/version_spec.rb
|
|
2360
2375
|
- spec/lib/pwn/sast/window_location_hash_spec.rb
|
|
2361
2376
|
- spec/lib/pwn/sast_spec.rb
|
|
2377
|
+
- spec/lib/pwn/sdr/decoder/flex_spec.rb
|
|
2362
2378
|
- spec/lib/pwn/sdr/decoder/gsm_spec.rb
|
|
2363
2379
|
- spec/lib/pwn/sdr/decoder/pocsag_spec.rb
|
|
2364
2380
|
- spec/lib/pwn/sdr/decoder/rds_spec.rb
|
|
@@ -2449,7 +2465,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
2449
2465
|
- !ruby/object:Gem::Version
|
|
2450
2466
|
version: '0'
|
|
2451
2467
|
requirements: []
|
|
2452
|
-
rubygems_version: 4.0.
|
|
2468
|
+
rubygems_version: 4.0.4
|
|
2453
2469
|
specification_version: 4
|
|
2454
2470
|
summary: Automated Security Testing for CI/CD Pipelines & Beyond
|
|
2455
2471
|
test_files: []
|