rex-text 0.2.22 → 0.2.27
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 +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/rex/text/color.rb +1 -1
- data/lib/rex/text/lang.rb +9 -1
- data/lib/rex/text/table.rb +39 -6
- data/lib/rex/text/version.rb +1 -1
- metadata +79 -74
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 322c668b2627c7abeb1d4d7cfa032e4db2ee9268cbc968ff99184b41a0dbb5cc
|
4
|
+
data.tar.gz: 1aa3470e473545171ae3753f6335e982132a653bff9e5ba31aa7bd12cf2c1e72
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2508a7436df9f53708d8da0d65b192e13baf2d5c65e143ade82d14bb4767807470d459ab2a26f7e430e7fe72eff513e5cdfdb1603eecd3670733675763d74b6f
|
7
|
+
data.tar.gz: af3211dcadb3312cac7c68ce3d1c5f3d3086f2d1d655fada170d9a408cda91ae54e9a36a1b524d66d95a5be8371135f8822389a04e0740da2763431ab6c42664
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/rex/text/color.rb
CHANGED
@@ -52,7 +52,7 @@ module Color
|
|
52
52
|
def substitute_colors(msg, in_prompt = nil)
|
53
53
|
str = msg.dup
|
54
54
|
pre_color = post_color = ''
|
55
|
-
if (in_prompt)
|
55
|
+
if (in_prompt && supports_color?)
|
56
56
|
pre_color = "\x01" # RL_PROMPT_START_IGNORE
|
57
57
|
post_color = "\x02" # RL_PROMPT_END_IGNORE
|
58
58
|
end
|
data/lib/rex/text/lang.rb
CHANGED
@@ -63,7 +63,7 @@ module Rex
|
|
63
63
|
# Converts a raw string into a python buffer
|
64
64
|
#
|
65
65
|
def self.to_python(str, wrap = DefaultWrap, name = "buf")
|
66
|
-
return hexify(str, wrap, "#{name} += \"", '"', "#{name} = \"\"\n", '"')
|
66
|
+
return hexify(str, wrap, "#{name} += b\"", '"', "#{name} = b\"\"\n", '"')
|
67
67
|
end
|
68
68
|
|
69
69
|
#
|
@@ -152,5 +152,13 @@ module Rex
|
|
152
152
|
return wordwrap(str, 0, wrap, '', '# ')
|
153
153
|
end
|
154
154
|
|
155
|
+
#
|
156
|
+
# Creates a psh-style comment
|
157
|
+
#
|
158
|
+
def self.to_psh_comment(str, wrap = DefaultWrap)
|
159
|
+
return wordwrap(str, 0, wrap, '', '# ')
|
160
|
+
end
|
161
|
+
|
162
|
+
|
155
163
|
end
|
156
164
|
end
|
data/lib/rex/text/table.rb
CHANGED
@@ -57,6 +57,10 @@ class Table
|
|
57
57
|
#
|
58
58
|
# The column to sort the table on, -1 disables sorting.
|
59
59
|
#
|
60
|
+
# ColProps
|
61
|
+
#
|
62
|
+
# A hash specifying column MaxWidth, Stylers, and Formatters.
|
63
|
+
#
|
60
64
|
def initialize(opts = {})
|
61
65
|
self.header = opts['Header']
|
62
66
|
self.headeri = opts['HeaderIndent'] || 0
|
@@ -79,6 +83,8 @@ class Table
|
|
79
83
|
self.columns.length.times { |idx|
|
80
84
|
self.colprops[idx] = {}
|
81
85
|
self.colprops[idx]['MaxWidth'] = self.columns[idx].length
|
86
|
+
self.colprops[idx]['Stylers'] = []
|
87
|
+
self.colprops[idx]['Formatters'] = []
|
82
88
|
}
|
83
89
|
|
84
90
|
# ensure all our internal state gets updated with the given rows by
|
@@ -172,16 +178,19 @@ class Table
|
|
172
178
|
if fields.length != self.columns.length
|
173
179
|
raise RuntimeError, 'Invalid number of columns!'
|
174
180
|
end
|
175
|
-
fields.
|
181
|
+
formatted_fields = fields.map.with_index { |field, idx|
|
176
182
|
# Remove whitespace and ensure String format
|
177
|
-
field = field.to_s.strip
|
183
|
+
field = format_table_field(field.to_s.strip, idx)
|
184
|
+
|
178
185
|
if (colprops[idx]['MaxWidth'] < field.to_s.length)
|
179
186
|
old = colprops[idx]['MaxWidth']
|
180
187
|
colprops[idx]['MaxWidth'] = field.to_s.length
|
181
188
|
end
|
189
|
+
|
190
|
+
field
|
182
191
|
}
|
183
192
|
|
184
|
-
rows <<
|
193
|
+
rows << formatted_fields
|
185
194
|
end
|
186
195
|
|
187
196
|
def ip_cmp(a, b)
|
@@ -389,9 +398,9 @@ protected
|
|
389
398
|
# Limit wide cells
|
390
399
|
if colprops[idx]['MaxChar']
|
391
400
|
last_cell = cell.to_s[0..colprops[idx]['MaxChar'].to_i]
|
392
|
-
line << last_cell
|
401
|
+
line << style_table_field(last_cell, idx)
|
393
402
|
else
|
394
|
-
line << cell.to_s
|
403
|
+
line << style_table_field(cell.to_s, idx)
|
395
404
|
last_cell = cell
|
396
405
|
end
|
397
406
|
last_idx = idx
|
@@ -414,7 +423,12 @@ protected
|
|
414
423
|
__method__.to_s << ': String with unsupported encoding caught!'
|
415
424
|
end
|
416
425
|
utf8_buf = buf.dup.force_encoding("UTF-8")
|
417
|
-
|
426
|
+
if !utf8_buf.valid_encoding?
|
427
|
+
hans_size = 0
|
428
|
+
else
|
429
|
+
hans_size = utf8_buf.size - utf8_buf.gsub(/\p{Han}+/u, '').size
|
430
|
+
end
|
431
|
+
remainder = max - utf8_buf.length - hans_size
|
418
432
|
remainder = 0 if remainder < 0
|
419
433
|
val = chr * remainder
|
420
434
|
|
@@ -425,6 +439,25 @@ protected
|
|
425
439
|
return val
|
426
440
|
end
|
427
441
|
|
442
|
+
def format_table_field(str, idx)
|
443
|
+
str_cp = str.clone
|
444
|
+
|
445
|
+
colprops[idx]['Formatters'].each do |f|
|
446
|
+
str_cp = f.format(str_cp)
|
447
|
+
end
|
448
|
+
|
449
|
+
str_cp
|
450
|
+
end
|
451
|
+
|
452
|
+
def style_table_field(str, idx)
|
453
|
+
str_cp = str.clone
|
454
|
+
|
455
|
+
colprops[idx]['Stylers'].each do |s|
|
456
|
+
str_cp = s.style(str_cp)
|
457
|
+
end
|
458
|
+
|
459
|
+
str_cp
|
460
|
+
end
|
428
461
|
|
429
462
|
end
|
430
463
|
|
data/lib/rex/text/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rex-text
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.27
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David 'thelightcosine' Maloney
|
@@ -10,85 +10,90 @@ bindir: exe
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
13
|
+
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
|
14
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
15
|
+
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
16
|
+
b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
|
17
|
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
18
|
+
cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
|
19
|
+
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
|
20
|
+
JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
|
21
|
+
mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
|
22
|
+
wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
|
23
|
+
VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
|
24
|
+
AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
|
25
|
+
AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
|
26
|
+
BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
|
27
|
+
pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
|
28
|
+
dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
|
29
|
+
fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
|
30
|
+
NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
|
31
|
+
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
|
32
|
+
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
|
32
33
|
-----END CERTIFICATE-----
|
33
34
|
- |
|
34
35
|
-----BEGIN CERTIFICATE-----
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
36
|
+
MIIFMDCCBBigAwIBAgIQBAkYG1/Vu2Z1U0O1b5VQCDANBgkqhkiG9w0BAQsFADBl
|
37
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
38
|
+
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
39
|
+
b3QgQ0EwHhcNMTMxMDIyMTIwMDAwWhcNMjgxMDIyMTIwMDAwWjByMQswCQYDVQQG
|
40
|
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
41
|
+
cnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBT
|
42
|
+
aWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+NOzHH8O
|
43
|
+
Ea9ndwfTCzFJGc/Q+0WZsTrbRPV/5aid2zLXcep2nQUut4/6kkPApfmJ1DcZ17aq
|
44
|
+
8JyGpdglrA55KDp+6dFn08b7KSfH03sjlOSRI5aQd4L5oYQjZhJUM1B0sSgmuyRp
|
45
|
+
wsJS8hRniolF1C2ho+mILCCVrhxKhwjfDPXiTWAYvqrEsq5wMWYzcT6scKKrzn/p
|
46
|
+
fMuSoeU7MRzP6vIK5Fe7SrXpdOYr/mzLfnQ5Ng2Q7+S1TqSp6moKq4TzrGdOtcT3
|
47
|
+
jNEgJSPrCGQ+UpbB8g8S9MWOD8Gi6CxR93O8vYWxYoNzQYIH5DiLanMg0A9kczye
|
48
|
+
n6Yzqf0Z3yWT0QIDAQABo4IBzTCCAckwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNV
|
49
|
+
HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMweQYIKwYBBQUHAQEEbTBr
|
50
|
+
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUH
|
51
|
+
MAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJ
|
52
|
+
RFJvb3RDQS5jcnQwgYEGA1UdHwR6MHgwOqA4oDaGNGh0dHA6Ly9jcmw0LmRpZ2lj
|
53
|
+
ZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwOqA4oDaGNGh0dHA6
|
54
|
+
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmww
|
55
|
+
TwYDVR0gBEgwRjA4BgpghkgBhv1sAAIEMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
|
56
|
+
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCgYIYIZIAYb9bAMwHQYDVR0OBBYEFFrEuXsq
|
57
|
+
CqOl6nEDwGD5LfZldQ5YMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgP
|
58
|
+
MA0GCSqGSIb3DQEBCwUAA4IBAQA+7A1aJLPzItEVyCx8JSl2qB1dHC06GsTvMGHX
|
59
|
+
fgtg/cM9D8Svi/3vKt8gVTew4fbRknUPUbRupY5a4l4kgU4QpO4/cY5jDhNLrddf
|
60
|
+
RHnzNhQGivecRk5c/5CxGwcOkRX7uq+1UcKNJK4kxscnKqEpKBo6cSgCPC6Ro8Al
|
61
|
+
EeKcFEehemhor5unXCBc2XGxDI+7qPjFEmifz0DLQESlE/DmZAwlCEIysjaKJAL+
|
62
|
+
L3J+HNdJRZboWR3p+nRka7LrZkPas7CM1ekN3fYBIM6ZMWM9CBoYs4GbT8aTEAb8
|
63
|
+
B4H6i9r5gkn3Ym6hU/oSlBiFLpKR6mhsRDKyZqHnGKSaZFHv
|
60
64
|
-----END CERTIFICATE-----
|
61
65
|
- |
|
62
66
|
-----BEGIN CERTIFICATE-----
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
67
|
+
MIIFIzCCBAugAwIBAgIQDX9ZkVJ2eNVTlibR5ALyJTANBgkqhkiG9w0BAQsFADBy
|
68
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
69
|
+
d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQg
|
70
|
+
SUQgQ29kZSBTaWduaW5nIENBMB4XDTE5MTAxNjAwMDAwMFoXDTIwMTAxOTEyMDAw
|
71
|
+
MFowYDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMxDzANBgNV
|
72
|
+
BAcTBkJvc3RvbjETMBEGA1UEChMKUmFwaWQ3IExMQzETMBEGA1UEAxMKUmFwaWQ3
|
73
|
+
IExMQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHnKegPAghKuZk4
|
74
|
+
Gy1jKaZEXbWc4fxioTemv/F1yIYzAjCWP65qjKtyeeFDe4/kJzG9nseF9oa93YBf
|
75
|
+
1nyEqxNSZMw/sCAZ87lOl713dRi73uxOoszy2PT5xEB+Q5R6cbzExkWG2zrLdXDr
|
76
|
+
so0Bd6VHw+IsAoBBkAq5FrZOJQYGn5VY20xw/2DqtCeoW4QDWyqTnbJmwO9tZrfr
|
77
|
+
3Le2crfk2eOgafaPNhLon5uuIKCZsk2YkUSNURSS3M7gosMwU9Gg4JTBi7X5+oww
|
78
|
+
rY43dJT28YklxmNVu8o5kJxW4dqLKJLOIgSXZ63nceT/EaCSg7DcofHNcUzejFwb
|
79
|
+
M7Zbb2kCAwEAAaOCAcUwggHBMB8GA1UdIwQYMBaAFFrEuXsqCqOl6nEDwGD5LfZl
|
80
|
+
dQ5YMB0GA1UdDgQWBBR18CAeMsIEU+0pXal/XXw9LCtMADAOBgNVHQ8BAf8EBAMC
|
81
|
+
B4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwdwYDVR0fBHAwbjA1oDOgMYYvaHR0cDov
|
82
|
+
L2NybDMuZGlnaWNlcnQuY29tL3NoYTItYXNzdXJlZC1jcy1nMS5jcmwwNaAzoDGG
|
83
|
+
L2h0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3Js
|
84
|
+
MEwGA1UdIARFMEMwNwYJYIZIAYb9bAMBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
|
85
|
+
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQQBMIGEBggrBgEFBQcBAQR4MHYw
|
86
|
+
JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcw
|
87
|
+
AoZCaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3Vy
|
88
|
+
ZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL
|
89
|
+
BQADggEBAFpzR9s7lcYKDzSJucOHztEPj+iSIeCzxEw34NTE9M2AfkYIu82c4r2a
|
90
|
+
bzIGmzZWiCGufjOp0gF5xW6sSSJ9n0TqH0nhHhvjtZQkmkGtOBbN1zeYDFS2ozAp
|
91
|
+
sljF/g68Y1eYs3NaFf7kQUa6vb6RdjW3J8M9AQ8gthBt7gr/guVxd/gJUYbdDdBX
|
92
|
+
cWfJJi/X7GVBOBmmvA43qoKideuhOBrVGBHvIF/yO9p23dIiUrGmW9kxXCSxgute
|
93
|
+
JI/W23RbIRksG2pioMhd4dCXq3FLLlkOV1YfCwWixNB+iIhQPPZVaPNfgPhCn4Dt
|
94
|
+
DeGjje/qA4fkLtRmOtb9PUBq3ToRDE4=
|
90
95
|
-----END CERTIFICATE-----
|
91
|
-
date:
|
96
|
+
date: 2020-07-13 00:00:00.000000000 Z
|
92
97
|
dependencies:
|
93
98
|
- !ruby/object:Gem::Dependency
|
94
99
|
name: bundler
|
@@ -193,7 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
198
|
version: '0'
|
194
199
|
requirements: []
|
195
200
|
rubyforge_project:
|
196
|
-
rubygems_version: 2.
|
201
|
+
rubygems_version: 2.7.10
|
197
202
|
signing_key:
|
198
203
|
specification_version: 4
|
199
204
|
summary: Provides Text Manipulation Methods for Exploitation
|
metadata.gz.sig
CHANGED
Binary file
|