pwn 0.5.228 → 0.5.230
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +19 -15
- data/.ruby-version +1 -1
- data/Gemfile +10 -9
- data/README.md +5 -5
- data/git_commit_test_reinit_gem.sh +15 -0
- data/lib/pwn/plugins/bus_pirate.rb +1 -2
- data/lib/pwn/plugins/msr206.rb +1 -2
- data/lib/pwn/plugins/serial.rb +30 -73
- data/lib/pwn/plugins/son_micro_rfid.rb +1 -2
- data/lib/pwn/version.rb +1 -1
- data/reinstall_pwn_gemset.sh +4 -4
- metadata +32 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7af8e67a2f1debdf6740514a5c0f0b447d8b2e3020ec722c089ad7686492c760
|
4
|
+
data.tar.gz: 26fcb204bd1248eda0e941df4b0c7c55dacc8efa718fb67af994d3a3e66785a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3df6c9362495ef739f14ad4730624722639cbf60e666f2c75d9026b36d1b419edda106c8b03f03e8e958e2786354a05c71d1bbc4f1a92df9a64f34c62bcca42
|
7
|
+
data.tar.gz: e954c806a59456360e755695c0290acd2e067fde05982d6b81a2cd21b3fa22c95c6549e64e2b964e387eb265f86673d7b2c82e4b6b8d7b736483e6dcb9f3b3d1
|
data/.rubocop_todo.yml
CHANGED
@@ -1,25 +1,14 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2025-01-14 18:50:21 UTC using RuboCop version 1.70.0.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
# Offense count: 5
|
10
|
-
# This cop supports safe autocorrection (--autocorrect).
|
11
|
-
# Configuration parameters: EnforcedStyle.
|
12
|
-
# SupportedStyles: space, no_space
|
13
|
-
Layout/LineContinuationSpacing:
|
14
|
-
Exclude:
|
15
|
-
- 'packer/provisioners/beef.rb'
|
16
|
-
- 'packer/provisioners/metasploit.rb'
|
17
|
-
- 'packer/provisioners/wpscan.rb'
|
18
|
-
- 'vagrant/provisioners/beef.rb'
|
19
|
-
|
20
9
|
# Offense count: 21
|
21
10
|
# This cop supports safe autocorrection (--autocorrect).
|
22
|
-
# Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
|
11
|
+
# Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
|
23
12
|
# URISchemes: http, https
|
24
13
|
Layout/LineLength:
|
25
14
|
Exclude:
|
@@ -41,7 +30,7 @@ Lint/NestedMethodDefinition:
|
|
41
30
|
Exclude:
|
42
31
|
- 'lib/pwn/plugins/repl.rb'
|
43
32
|
|
44
|
-
# Offense count:
|
33
|
+
# Offense count: 316
|
45
34
|
# This cop supports safe autocorrection (--autocorrect).
|
46
35
|
# Configuration parameters: AutoCorrect.
|
47
36
|
Lint/UselessAssignment:
|
@@ -117,7 +106,7 @@ Style/Alias:
|
|
117
106
|
Style/ClassVars:
|
118
107
|
Enabled: false
|
119
108
|
|
120
|
-
# Offense count:
|
109
|
+
# Offense count: 280
|
121
110
|
# This cop supports safe autocorrection (--autocorrect).
|
122
111
|
# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
|
123
112
|
# SupportedStyles: assign_to_condition, assign_inside_condition
|
@@ -150,6 +139,21 @@ Style/MapIntoArray:
|
|
150
139
|
- 'lib/pwn/plugins/credit_card.rb'
|
151
140
|
- 'lib/pwn/plugins/nexpose_vuln_scan.rb'
|
152
141
|
|
142
|
+
# Offense count: 9
|
143
|
+
# This cop supports safe autocorrection (--autocorrect).
|
144
|
+
# Configuration parameters: AllowMethodComparison, ComparisonsThreshold.
|
145
|
+
Style/MultipleComparison:
|
146
|
+
Exclude:
|
147
|
+
- 'lib/pwn/sast/banned_function_calls_c.rb'
|
148
|
+
- 'lib/pwn/sast/cmd_execution_python.rb'
|
149
|
+
- 'lib/pwn/sast/cmd_execution_ruby.rb'
|
150
|
+
- 'lib/pwn/sast/deserial_java.rb'
|
151
|
+
- 'lib/pwn/sast/factory.rb'
|
152
|
+
- 'lib/pwn/sast/logger.rb'
|
153
|
+
- 'lib/pwn/sast/throw_errors.rb'
|
154
|
+
- 'lib/pwn/www/duckduckgo.rb'
|
155
|
+
- 'lib/pwn/www/twitter.rb'
|
156
|
+
|
153
157
|
# Offense count: 1
|
154
158
|
# This cop supports safe autocorrection (--autocorrect).
|
155
159
|
Style/RedundantBegin:
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.4.1
|
data/Gemfile
CHANGED
@@ -18,7 +18,7 @@ gem 'aws-sdk', '3.2.0'
|
|
18
18
|
# gem 'bettercap', '1.6.2'
|
19
19
|
gem 'barby', '0.7.0'
|
20
20
|
gem 'base32', '0.3.4'
|
21
|
-
gem 'brakeman', '
|
21
|
+
gem 'brakeman', '7.0.0'
|
22
22
|
gem 'bson', '5.0.2'
|
23
23
|
gem 'bundler', '>=2.6.2'
|
24
24
|
gem 'bundler-audit', '0.9.2'
|
@@ -29,7 +29,7 @@ gem 'eventmachine', '1.2.7'
|
|
29
29
|
gem 'executable-hooks', '1.7.1'
|
30
30
|
gem 'faker', '3.5.1'
|
31
31
|
gem 'faye-websocket', '0.11.3'
|
32
|
-
gem 'ffi', '1.17.
|
32
|
+
gem 'ffi', '1.17.1'
|
33
33
|
gem 'fftw3', '0.3'
|
34
34
|
gem 'gdb', '1.0.0'
|
35
35
|
gem 'gem-wrappers', '1.4.0'
|
@@ -43,11 +43,11 @@ gem 'jenkins_api_client2', '1.9.0'
|
|
43
43
|
gem 'js-beautify', '0.1.8'
|
44
44
|
gem 'json', '2.9.1'
|
45
45
|
gem 'jsonpath', '1.1.5'
|
46
|
-
gem 'jwt', '2.
|
46
|
+
gem 'jwt', '2.10.1'
|
47
47
|
gem 'libusb', '0.7.2'
|
48
48
|
gem 'luhn', '1.0.2'
|
49
49
|
gem 'mail', '2.8.1'
|
50
|
-
gem 'meshtastic', '0.0.
|
50
|
+
gem 'meshtastic', '0.0.81'
|
51
51
|
gem 'metasm', '1.0.5'
|
52
52
|
gem 'mongo', '2.21.0'
|
53
53
|
gem 'msfrpc-client', '1.1.2'
|
@@ -56,7 +56,7 @@ gem 'net-ldap', '0.19.0'
|
|
56
56
|
gem 'net-openvpn', '0.8.7'
|
57
57
|
gem 'net-smtp', '0.5.0'
|
58
58
|
gem 'nexpose', '7.3.0'
|
59
|
-
gem 'nokogiri', '1.
|
59
|
+
gem 'nokogiri', '1.18.1'
|
60
60
|
gem 'nokogiri-diff', '0.3.0'
|
61
61
|
# gem 'oauth2', '2.0.9'
|
62
62
|
gem 'oily_png', '1.2.1'
|
@@ -64,7 +64,7 @@ gem 'open3', '0.2.1'
|
|
64
64
|
gem 'os', '1.1.4'
|
65
65
|
gem 'ostruct', '0.6.1'
|
66
66
|
gem 'packetfu', '2.0.0'
|
67
|
-
gem 'packetgen', '
|
67
|
+
gem 'packetgen', '4.0.0'
|
68
68
|
gem 'pdf-reader', '2.13.0'
|
69
69
|
gem 'pg', '1.5.9'
|
70
70
|
gem 'pry', '0.15.2'
|
@@ -79,7 +79,7 @@ gem 'rmagick', '6.0.1'
|
|
79
79
|
gem 'rqrcode', '2.2.0'
|
80
80
|
gem 'rspec', '3.13.0'
|
81
81
|
gem 'rtesseract', '3.1.3'
|
82
|
-
gem 'rubocop', '1.
|
82
|
+
gem 'rubocop', '1.70.0'
|
83
83
|
gem 'rubocop-rake', '0.6.0'
|
84
84
|
gem 'rubocop-rspec', '3.3.0'
|
85
85
|
gem 'ruby-audio', '1.6.1'
|
@@ -88,15 +88,16 @@ gem 'ruby-saml', '1.17.0'
|
|
88
88
|
gem 'rvm', '1.11.3.9'
|
89
89
|
gem 'savon', '2.15.1'
|
90
90
|
gem 'selenium-devtools', '0.131.0'
|
91
|
-
gem 'serialport', '1.3.2'
|
91
|
+
# gem 'serialport', '1.3.2'
|
92
92
|
# gem 'sinatra', '4.0.0'
|
93
93
|
gem 'slack-ruby-client', '2.4.0'
|
94
94
|
gem 'socksify', '1.7.1'
|
95
95
|
gem 'spreadsheet', '1.3.3'
|
96
|
-
gem 'sqlite3', '2.
|
96
|
+
gem 'sqlite3', '2.5.0'
|
97
97
|
gem 'thin', '1.8.2'
|
98
98
|
gem 'tty-prompt', '0.23.1'
|
99
99
|
gem 'tty-spinner', '0.9.3'
|
100
|
+
gem 'uart', '1.0.0'
|
100
101
|
gem 'watir', '7.3.0'
|
101
102
|
gem 'waveform', '0.1.3'
|
102
103
|
gem 'webrick', '1.9.1'
|
data/README.md
CHANGED
@@ -37,7 +37,7 @@ $ cd /opt/pwn
|
|
37
37
|
$ ./install.sh
|
38
38
|
$ ./install.sh ruby-gem
|
39
39
|
$ pwn
|
40
|
-
pwn[v0.5.
|
40
|
+
pwn[v0.5.230]:001 >>> PWN.help
|
41
41
|
```
|
42
42
|
|
43
43
|
[![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
|
@@ -48,21 +48,21 @@ pwn[v0.5.228]:001 >>> PWN.help
|
|
48
48
|
It's wise to update pwn often as numerous versions are released/week:
|
49
49
|
```
|
50
50
|
$ rvm list gemsets
|
51
|
-
$ rvm use ruby-3.
|
51
|
+
$ rvm use ruby-3.4.1@pwn
|
52
52
|
$ gem uninstall --all --executables pwn
|
53
53
|
$ gem install --verbose pwn
|
54
54
|
$ pwn
|
55
|
-
pwn[v0.5.
|
55
|
+
pwn[v0.5.230]:001 >>> PWN.help
|
56
56
|
```
|
57
57
|
|
58
58
|
If you're using a multi-user install of RVM do:
|
59
59
|
```
|
60
60
|
$ rvm list gemsets
|
61
|
-
$ rvm use ruby-3.
|
61
|
+
$ rvm use ruby-3.4.1@pwn
|
62
62
|
$ rvmsudo gem uninstall --all --executables pwn
|
63
63
|
$ rvmsudo gem install --verbose pwn
|
64
64
|
$ pwn
|
65
|
-
pwn[v0.5.
|
65
|
+
pwn[v0.5.230]:001 >>> PWN.help
|
66
66
|
```
|
67
67
|
|
68
68
|
PWN periodically upgrades to the latest version of Ruby which is reflected in `/opt/pwn/.ruby-version`. The easiest way to upgrade to the latest version of Ruby from a previous PWN installation is to run the following script:
|
@@ -12,7 +12,18 @@ if (( $# == 3 )); then
|
|
12
12
|
git add . --all
|
13
13
|
echo 'Updating Gems to Latest Versions in Gemfile...'
|
14
14
|
./find_latest_gem_versions_per_Gemfile.sh
|
15
|
+
if [[ $? -ne 0 ]]; then
|
16
|
+
echo 'ERROR: find_latest_gem_versions_per_Gemfile.sh failed!'
|
17
|
+
exit 1
|
18
|
+
fi
|
19
|
+
|
15
20
|
pwn_autoinc_version
|
21
|
+
if [[ $? -ne 0 ]]; then
|
22
|
+
echo 'ERROR: pwn_autoinc_version failed! Investigate and bump pwn version manually.'
|
23
|
+
exit 1
|
24
|
+
fi
|
25
|
+
|
26
|
+
# Generate RDoc JSONL for fine-tunning LLMs
|
16
27
|
pwn_rdoc_to_jsonl --rdoc-root-dir '/opt/pwn/rdoc/PWN' --jsonl-results '/opt/pwn/third_party/pwn_rdoc.jsonl'
|
17
28
|
|
18
29
|
# Tag for every 100 commits (i.e. 0.1.100, 0.1.200, etc)
|
@@ -24,6 +35,10 @@ if (( $# == 3 )); then
|
|
24
35
|
|
25
36
|
git commit -a -S --author="${1} <${2}>" -m "${3}"
|
26
37
|
./update_pwn.sh
|
38
|
+
if [[ $? -ne 0 ]]; then
|
39
|
+
echo 'ERROR: update_pwn.sh failed!'
|
40
|
+
exit 1
|
41
|
+
fi
|
27
42
|
|
28
43
|
latest_gem=$(ls pkg/*.gem)
|
29
44
|
if [[ $latest_gem != "" ]]; then
|
@@ -127,8 +127,7 @@ module PWN
|
|
127
127
|
baud: 'optional (defaults to 9600)',
|
128
128
|
data_bits: 'optional (defaults to 8)',
|
129
129
|
stop_bits: 'optional (defaults to 1)',
|
130
|
-
parity: 'optional (defaults to
|
131
|
-
flow_control: 'optional (defaults to SerialPort::HARD) SerialPort::NONE|SerialPort::SOFT|SerialPort::HARD'
|
130
|
+
parity: 'optional - :even||:odd|:none (defaults to :none)'
|
132
131
|
)
|
133
132
|
|
134
133
|
#{self}.init_mode(
|
data/lib/pwn/plugins/msr206.rb
CHANGED
@@ -1169,8 +1169,7 @@ module PWN
|
|
1169
1169
|
baud: 'optional (defaults to 9600)',
|
1170
1170
|
data_bits: 'optional (defaults to 8)',
|
1171
1171
|
stop_bits: 'optional (defaults to 1)',
|
1172
|
-
parity: 'optional - :even
|
1173
|
-
flow_control: 'optional - :none|:hard|:soft (defaults to :none)'
|
1172
|
+
parity: 'optional - :even||:odd|:none (defaults to :none)'
|
1174
1173
|
)
|
1175
1174
|
|
1176
1175
|
cmds = #{self}.list_cmds
|
data/lib/pwn/plugins/serial.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'uart'
|
4
4
|
require 'io/wait'
|
5
5
|
|
6
6
|
module PWN
|
@@ -16,63 +16,35 @@ module PWN
|
|
16
16
|
# baud: 'optional - (defaults to 9600)',
|
17
17
|
# data_bits: 'optional - (defaults to 8)',
|
18
18
|
# stop_bits: 'optional - (defaults to 1)',
|
19
|
-
# parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :none)'
|
20
|
-
# flow_control: 'optional - :none||:hard||:soft (defaults to :none)'
|
19
|
+
# parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :none)'
|
21
20
|
# )
|
22
21
|
|
23
22
|
public_class_method def self.connect(opts = {})
|
24
|
-
block_dev = opts[:block_dev]
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
data_bits = if opts[:data_bits].nil?
|
36
|
-
8
|
37
|
-
else
|
38
|
-
opts[:data_bits].to_i
|
39
|
-
end
|
40
|
-
|
41
|
-
stop_bits = if opts[:stop_bits].nil?
|
42
|
-
1
|
43
|
-
else
|
44
|
-
opts[:stop_bits].to_i
|
45
|
-
end
|
46
|
-
|
47
|
-
case opts[:parity].to_s.to_sym
|
23
|
+
block_dev = opts[:block_dev] ||= '/dev/ttyUSB0'
|
24
|
+
raise "Invalid block device: #{block_dev}" unless File.exist?(block_dev)
|
25
|
+
|
26
|
+
baud = opts[:baud] ||= 9_600
|
27
|
+
data_bits = opts[:data_bits] ||= 8
|
28
|
+
stop_bits = opts[:stop_bits] ||= 1
|
29
|
+
parity = opts[:parity] ||= :none
|
30
|
+
|
31
|
+
case parity.to_s.to_sym
|
48
32
|
when :even
|
49
|
-
parity =
|
50
|
-
when :mark
|
51
|
-
parity = SerialPort::MARK
|
33
|
+
parity = 'E'
|
52
34
|
when :odd
|
53
|
-
parity =
|
54
|
-
when :
|
55
|
-
parity =
|
56
|
-
else
|
57
|
-
parity = SerialPort::NONE
|
35
|
+
parity = 'O'
|
36
|
+
when :none
|
37
|
+
parity = 'N'
|
58
38
|
end
|
39
|
+
raise "Invalid parity: #{opts[:parity]}" if parity.nil?
|
59
40
|
|
60
|
-
|
61
|
-
|
62
|
-
flow_control = SerialPort::HARD
|
63
|
-
when :soft
|
64
|
-
flow_control = SerialPort::SOFT
|
65
|
-
else
|
66
|
-
flow_control = SerialPort::NONE
|
67
|
-
end
|
41
|
+
mode = "#{data_bits}#{parity}#{stop_bits}"
|
42
|
+
puts mode
|
68
43
|
|
69
|
-
serial_conn =
|
44
|
+
serial_conn = UART.open(
|
70
45
|
block_dev,
|
71
46
|
baud,
|
72
|
-
|
73
|
-
stop_bits,
|
74
|
-
parity,
|
75
|
-
flow_control
|
47
|
+
mode
|
76
48
|
)
|
77
49
|
|
78
50
|
serial_obj = {}
|
@@ -97,7 +69,7 @@ module PWN
|
|
97
69
|
|
98
70
|
# Spin up a serial_obj session_thread
|
99
71
|
Thread.new do
|
100
|
-
serial_conn.read_timeout = -1
|
72
|
+
# serial_conn.read_timeout = -1
|
101
73
|
serial_conn.flush
|
102
74
|
|
103
75
|
loop do
|
@@ -124,7 +96,9 @@ module PWN
|
|
124
96
|
public_class_method def self.get_line_state(opts = {})
|
125
97
|
serial_obj = opts[:serial_obj]
|
126
98
|
serial_conn = serial_obj[:serial_conn]
|
127
|
-
|
99
|
+
# Should return something like:
|
100
|
+
# {"rts"=>1, "dtr"=>1, "cts"=>1, "dsr"=>1, "dcd"=>0, "ri"=>0}
|
101
|
+
serial_conn.lstat
|
128
102
|
rescue StandardError => e
|
129
103
|
disconnect(serial_obj: serial_obj) unless serial_obj.nil?
|
130
104
|
raise e
|
@@ -138,6 +112,8 @@ module PWN
|
|
138
112
|
public_class_method def self.get_modem_params(opts = {})
|
139
113
|
serial_obj = opts[:serial_obj]
|
140
114
|
serial_conn = serial_obj[:serial_conn]
|
115
|
+
# Should return something like:
|
116
|
+
# {"baud"=>9600, "data_bits"=>8, "stop_bits"=>1, "parity"=>0}
|
141
117
|
serial_conn.get_modem_params
|
142
118
|
rescue StandardError => e
|
143
119
|
disconnect(serial_obj: serial_obj) unless serial_obj.nil?
|
@@ -155,8 +131,10 @@ module PWN
|
|
155
131
|
payload = opts[:payload]
|
156
132
|
serial_conn = serial_obj[:serial_conn]
|
157
133
|
|
158
|
-
byte_arr =
|
134
|
+
byte_arr = nil
|
135
|
+
byte_arr = payload if payload.instance_of?(Array)
|
159
136
|
byte_arr = payload.chars if payload.instance_of?(String)
|
137
|
+
raise "ERROR: Invalid payload type: #{payload.class}" if byte_arr.nil?
|
160
138
|
|
161
139
|
byte_arr.each do |byte|
|
162
140
|
serial_conn.putc(byte)
|
@@ -168,18 +146,6 @@ module PWN
|
|
168
146
|
raise e
|
169
147
|
end
|
170
148
|
|
171
|
-
# public_class_method def self.request(opts = {})
|
172
|
-
# serial_obj = opts[:serial_obj]
|
173
|
-
# request = opts[:request].to_s.scrub
|
174
|
-
# serial_conn = serial_obj[:serial_conn]
|
175
|
-
# chars_written = serial_conn.write(request)
|
176
|
-
# serial_conn.flush
|
177
|
-
# chars_written
|
178
|
-
# rescue StandardError => e
|
179
|
-
# disconnect(serial_obj: serial_obj) unless serial_obj.nil?
|
180
|
-
# raise e
|
181
|
-
# end
|
182
|
-
|
183
149
|
# Supported Method Parameters::
|
184
150
|
# PWN::Plugins::Serial.response(
|
185
151
|
# serial_obj: 'required - serial_obj returned from #connect method'
|
@@ -218,14 +184,6 @@ module PWN
|
|
218
184
|
raise e
|
219
185
|
end
|
220
186
|
|
221
|
-
# public_class_method def self.response(opts = {})
|
222
|
-
# serial_obj = opts[:serial_obj]
|
223
|
-
# @session_data.last
|
224
|
-
# rescue StandardError => e
|
225
|
-
# disconnect(serial_obj: serial_obj) unless serial_obj.nil?
|
226
|
-
# raise e
|
227
|
-
# end
|
228
|
-
|
229
187
|
# Supported Method Parameters::
|
230
188
|
# session_data = PWN::Plugins::Serial.dump_session_data
|
231
189
|
|
@@ -278,8 +236,7 @@ module PWN
|
|
278
236
|
baud: 'optional (defaults to 9600)',
|
279
237
|
data_bits: 'optional (defaults to 8)',
|
280
238
|
stop_bits: 'optional (defaults to 1)',
|
281
|
-
parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :none)'
|
282
|
-
flow_control: 'optional - :none||:hard||:soft (defaults to :none)'
|
239
|
+
parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :none)'
|
283
240
|
)
|
284
241
|
|
285
242
|
line_state = #{self}.get_line_state(
|
@@ -476,8 +476,7 @@ module PWN
|
|
476
476
|
baud: 'optional (defaults to 19_200)',
|
477
477
|
data_bits: 'optional (defaults to 8)',
|
478
478
|
stop_bits: 'optional (defaults to 1)',
|
479
|
-
parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :odd)
|
480
|
-
flow_control: 'optional - :none||:hard||:soft (defaults to :none)'
|
479
|
+
parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :odd)'
|
481
480
|
)
|
482
481
|
|
483
482
|
cmds = #{self}.list_cmds
|
data/lib/pwn/version.rb
CHANGED
data/reinstall_pwn_gemset.sh
CHANGED
@@ -20,11 +20,11 @@ export rvmsudo_secure_path=1
|
|
20
20
|
rvmsudo gem install bundler
|
21
21
|
if [[ $(uname -s) == "Darwin" ]]; then
|
22
22
|
bundle config build.pg --with-pg-config=/opt/local/lib/postgresql96/bin/pg_config
|
23
|
-
bundle config build.serialport \
|
24
|
-
|
25
|
-
|
23
|
+
# bundle config build.serialport \
|
24
|
+
# --with-cflags=-Wno-implicit-function-declaration \
|
25
|
+
# --with-cflags=-Wno-int-conversion
|
26
26
|
fi
|
27
|
-
bundle config build.serialport --with-cflags=-Wno-int-conversion
|
27
|
+
# bundle config build.serialport --with-cflags=-Wno-int-conversion
|
28
28
|
bundle install
|
29
29
|
# bundle install --full-index
|
30
30
|
rvm --default ruby-$ruby_version@$ruby_gemset
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
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.230
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 2025-01-14 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: activesupport
|
@@ -99,14 +99,14 @@ dependencies:
|
|
99
99
|
requirements:
|
100
100
|
- - '='
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
102
|
+
version: 7.0.0
|
103
103
|
type: :runtime
|
104
104
|
prerelease: false
|
105
105
|
version_requirements: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
107
|
- - '='
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
109
|
+
version: 7.0.0
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
111
|
name: bson
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
@@ -253,14 +253,14 @@ dependencies:
|
|
253
253
|
requirements:
|
254
254
|
- - '='
|
255
255
|
- !ruby/object:Gem::Version
|
256
|
-
version: 1.17.
|
256
|
+
version: 1.17.1
|
257
257
|
type: :runtime
|
258
258
|
prerelease: false
|
259
259
|
version_requirements: !ruby/object:Gem::Requirement
|
260
260
|
requirements:
|
261
261
|
- - '='
|
262
262
|
- !ruby/object:Gem::Version
|
263
|
-
version: 1.17.
|
263
|
+
version: 1.17.1
|
264
264
|
- !ruby/object:Gem::Dependency
|
265
265
|
name: fftw3
|
266
266
|
requirement: !ruby/object:Gem::Requirement
|
@@ -435,14 +435,14 @@ dependencies:
|
|
435
435
|
requirements:
|
436
436
|
- - '='
|
437
437
|
- !ruby/object:Gem::Version
|
438
|
-
version: 2.
|
438
|
+
version: 2.10.1
|
439
439
|
type: :runtime
|
440
440
|
prerelease: false
|
441
441
|
version_requirements: !ruby/object:Gem::Requirement
|
442
442
|
requirements:
|
443
443
|
- - '='
|
444
444
|
- !ruby/object:Gem::Version
|
445
|
-
version: 2.
|
445
|
+
version: 2.10.1
|
446
446
|
- !ruby/object:Gem::Dependency
|
447
447
|
name: libusb
|
448
448
|
requirement: !ruby/object:Gem::Requirement
|
@@ -491,14 +491,14 @@ dependencies:
|
|
491
491
|
requirements:
|
492
492
|
- - '='
|
493
493
|
- !ruby/object:Gem::Version
|
494
|
-
version: 0.0.
|
494
|
+
version: 0.0.81
|
495
495
|
type: :runtime
|
496
496
|
prerelease: false
|
497
497
|
version_requirements: !ruby/object:Gem::Requirement
|
498
498
|
requirements:
|
499
499
|
- - '='
|
500
500
|
- !ruby/object:Gem::Version
|
501
|
-
version: 0.0.
|
501
|
+
version: 0.0.81
|
502
502
|
- !ruby/object:Gem::Dependency
|
503
503
|
name: metasm
|
504
504
|
requirement: !ruby/object:Gem::Requirement
|
@@ -617,14 +617,14 @@ dependencies:
|
|
617
617
|
requirements:
|
618
618
|
- - '='
|
619
619
|
- !ruby/object:Gem::Version
|
620
|
-
version: 1.
|
620
|
+
version: 1.18.1
|
621
621
|
type: :runtime
|
622
622
|
prerelease: false
|
623
623
|
version_requirements: !ruby/object:Gem::Requirement
|
624
624
|
requirements:
|
625
625
|
- - '='
|
626
626
|
- !ruby/object:Gem::Version
|
627
|
-
version: 1.
|
627
|
+
version: 1.18.1
|
628
628
|
- !ruby/object:Gem::Dependency
|
629
629
|
name: nokogiri-diff
|
630
630
|
requirement: !ruby/object:Gem::Requirement
|
@@ -715,14 +715,14 @@ dependencies:
|
|
715
715
|
requirements:
|
716
716
|
- - '='
|
717
717
|
- !ruby/object:Gem::Version
|
718
|
-
version:
|
718
|
+
version: 4.0.0
|
719
719
|
type: :runtime
|
720
720
|
prerelease: false
|
721
721
|
version_requirements: !ruby/object:Gem::Requirement
|
722
722
|
requirements:
|
723
723
|
- - '='
|
724
724
|
- !ruby/object:Gem::Version
|
725
|
-
version:
|
725
|
+
version: 4.0.0
|
726
726
|
- !ruby/object:Gem::Dependency
|
727
727
|
name: pdf-reader
|
728
728
|
requirement: !ruby/object:Gem::Requirement
|
@@ -925,14 +925,14 @@ dependencies:
|
|
925
925
|
requirements:
|
926
926
|
- - '='
|
927
927
|
- !ruby/object:Gem::Version
|
928
|
-
version: 1.
|
928
|
+
version: 1.70.0
|
929
929
|
type: :runtime
|
930
930
|
prerelease: false
|
931
931
|
version_requirements: !ruby/object:Gem::Requirement
|
932
932
|
requirements:
|
933
933
|
- - '='
|
934
934
|
- !ruby/object:Gem::Version
|
935
|
-
version: 1.
|
935
|
+
version: 1.70.0
|
936
936
|
- !ruby/object:Gem::Dependency
|
937
937
|
name: rubocop-rake
|
938
938
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1045,20 +1045,6 @@ dependencies:
|
|
1045
1045
|
- - '='
|
1046
1046
|
- !ruby/object:Gem::Version
|
1047
1047
|
version: 0.131.0
|
1048
|
-
- !ruby/object:Gem::Dependency
|
1049
|
-
name: serialport
|
1050
|
-
requirement: !ruby/object:Gem::Requirement
|
1051
|
-
requirements:
|
1052
|
-
- - '='
|
1053
|
-
- !ruby/object:Gem::Version
|
1054
|
-
version: 1.3.2
|
1055
|
-
type: :runtime
|
1056
|
-
prerelease: false
|
1057
|
-
version_requirements: !ruby/object:Gem::Requirement
|
1058
|
-
requirements:
|
1059
|
-
- - '='
|
1060
|
-
- !ruby/object:Gem::Version
|
1061
|
-
version: 1.3.2
|
1062
1048
|
- !ruby/object:Gem::Dependency
|
1063
1049
|
name: slack-ruby-client
|
1064
1050
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1107,14 +1093,14 @@ dependencies:
|
|
1107
1093
|
requirements:
|
1108
1094
|
- - '='
|
1109
1095
|
- !ruby/object:Gem::Version
|
1110
|
-
version: 2.
|
1096
|
+
version: 2.5.0
|
1111
1097
|
type: :runtime
|
1112
1098
|
prerelease: false
|
1113
1099
|
version_requirements: !ruby/object:Gem::Requirement
|
1114
1100
|
requirements:
|
1115
1101
|
- - '='
|
1116
1102
|
- !ruby/object:Gem::Version
|
1117
|
-
version: 2.
|
1103
|
+
version: 2.5.0
|
1118
1104
|
- !ruby/object:Gem::Dependency
|
1119
1105
|
name: thin
|
1120
1106
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1157,6 +1143,20 @@ dependencies:
|
|
1157
1143
|
- - '='
|
1158
1144
|
- !ruby/object:Gem::Version
|
1159
1145
|
version: 0.9.3
|
1146
|
+
- !ruby/object:Gem::Dependency
|
1147
|
+
name: uart
|
1148
|
+
requirement: !ruby/object:Gem::Requirement
|
1149
|
+
requirements:
|
1150
|
+
- - '='
|
1151
|
+
- !ruby/object:Gem::Version
|
1152
|
+
version: 1.0.0
|
1153
|
+
type: :runtime
|
1154
|
+
prerelease: false
|
1155
|
+
version_requirements: !ruby/object:Gem::Requirement
|
1156
|
+
requirements:
|
1157
|
+
- - '='
|
1158
|
+
- !ruby/object:Gem::Version
|
1159
|
+
version: 1.0.0
|
1160
1160
|
- !ruby/object:Gem::Dependency
|
1161
1161
|
name: watir
|
1162
1162
|
requirement: !ruby/object:Gem::Requirement
|