ronin 2.0.0.beta4 → 2.0.0.beta5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5047531634d67c95bffe7f55e125d652912fbc93017b7b84d9799e5fda3a4c55
4
- data.tar.gz: 60b99b27727f849d19cb3518aecc6784069533f1ef2dfd4a66faed0b9fc6633f
3
+ metadata.gz: cb9de0474fa609d9ea978a63c3a24a6c2c365acc13db40dbfdc60d86e90571bb
4
+ data.tar.gz: c0503139e4f1b5fddf7319e4438a160b3b43200ce8c081e2a408d9fe0a458218
5
5
  SHA512:
6
- metadata.gz: '08cec0e4936d6a029ff5b71d5a35e348c8e5beee92a1042121fcbe379f65eeed38b84a63fa319c5b314090e6ffc2d80005acfef1e061e90e81d28c1e867409ce'
7
- data.tar.gz: dd78e3a1fd48f63ff26cc26eaecab7d7efe2e72369f5e166c39c418dc8e097853bb97cb12cac84e24705a6c56bbc2b2aa458e3b649946030328980979390876e
6
+ metadata.gz: b2e44b4023cabd18f04156ea5b3c2627697ea6878906d45c4ec371d9e5f5dcf832de97f9969415c1ed2860deaa15662ceb227378866b75c90b1fb2dea473cbe5
7
+ data.tar.gz: 964c7fd654dc78ee26d757138b47f26aa57cc5dd6210cfcfa0bb1e401b80c5acc331aa12230e4ccf741eea8eda583b90ea80c285113547cbbbea39239b6b86fb
@@ -21,6 +21,7 @@ jobs:
21
21
  uses: ruby/setup-ruby@v1
22
22
  with:
23
23
  ruby-version: ${{ matrix.ruby }}
24
+ bundler-cache: true
24
25
  - name: Install libsqlite3
25
26
  run: |
26
27
  sudo apt update -y && \
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![CI](https://github.com/ronin-rb/ronin/actions/workflows/ruby.yml/badge.svg)](https://github.com/ronin-rb/ronin/actions/workflows/ruby.yml)
4
4
  [![Code Climate](https://codeclimate.com/github/ronin-rb/ronin.svg)](https://codeclimate.com/github/ronin-rb/ronin)
5
+ [![Gem Version](https://badge.fury.io/rb/ronin.svg)](https://badge.fury.io/rb/ronin)
5
6
 
6
7
  * [Website](https://ronin-rb.dev)
7
8
  * [Source](https://github.com/ronin-rb/ronin)
@@ -14,7 +15,7 @@
14
15
  ## Description
15
16
 
16
17
  [Ronin][website] is a free and Open Source [Ruby] toolkit for security research
17
- and development. Ronin contains many different [CLI commands](#snopsis) and
18
+ and development. Ronin contains many different [CLI commands](#synopsis) and
18
19
  [Ruby libraries][ronin-rb] for a variety of security tasks, such as
19
20
  encoding/decoding data, filter IPs/hosts/URLs, querying ASNs, querying DNS,
20
21
  HTTP, [scanning for web vulnerabilities][ronin-vulns-synopsis],
@@ -687,7 +688,7 @@ $ ronin typosquat --unregistered microsoft.com
687
688
 
688
689
  Dump information about a SSL/TLS certificate:
689
690
 
690
- ```shrll
691
+ ```shell
691
692
  $ ronin cert-dump https://example.com/
692
693
  ```
693
694
 
data/gemspec.yml CHANGED
@@ -96,12 +96,12 @@ dependencies:
96
96
  async-io: ~> 1.0
97
97
  wordlist: ~> 1.0
98
98
  # Ronin dependencies:
99
- ronin-support: ~> 1.0.0.beta2
99
+ ronin-support: ~> 1.0.0.beta3
100
100
  ronin-core: ~> 0.1.0.beta1
101
101
  ronin-repos: ~> 0.1.0.beta1
102
- ronin-db: ~> 0.1.0.beta2
103
- ronin-fuzzer: ~> 0.1.0.beta1
104
- ronin-web: ~> 1.0.0.beta3
102
+ ronin-db: ~> 0.1.0.beta3
103
+ ronin-fuzzer: ~> 0.1.0.beta2
104
+ ronin-web: ~> 1.0.0.beta4
105
105
  ronin-code-asm: ~> 1.0.0.beta1
106
106
  ronin-code-sql: ~> 2.0.0.beta1
107
107
  ronin-payloads: ~> 0.1.0.beta1
@@ -40,7 +40,7 @@ module Ronin
40
40
  # -f, --file FILE Overrides the default ASN list file (Default: ~/.cache/ronin/ronin-support/ip2asn-combined.tsv.gz)
41
41
  # -u, --update Updates the ASN list file
42
42
  # -n, --number NUM|AS... Searches for all ASN records with the AS number
43
- # -C XX|None|Uknown, Searches for all ASN records with the country code
43
+ # -C XX|None|Unknown, Searches for all ASN records with the country code
44
44
  # --country-code
45
45
  # -N, --name NAME Searches for all ASN records with the matching name
46
46
  # -I, --ip IP Queries the ASN record for the IP
@@ -96,7 +96,7 @@ module Ronin
96
96
  option :country_code, short: '-C',
97
97
  value: {
98
98
  type: /[A-Z]{2}|None|Unknown/,
99
- usage: 'XX|None|Uknown'
99
+ usage: 'XX|None|Unknown'
100
100
  },
101
101
  desc: 'Searches for all ASN records with the country code'
102
102
 
@@ -107,7 +107,7 @@ module Ronin
107
107
  end
108
108
 
109
109
  #
110
- # Formats a bit-fipped string.
110
+ # Formats a bit-flipped string.
111
111
  #
112
112
  # @param [String] string
113
113
  # The bit-flipped String.
@@ -208,7 +208,7 @@ module Ronin
208
208
  end
209
209
 
210
210
  #
211
- # Optionally prints the filename or linenumber prefix for a line.
211
+ # Optionally prints the filename or line-number prefix for a line.
212
212
  #
213
213
  # @param [String] filename
214
214
  #
@@ -85,7 +85,7 @@ module Ronin
85
85
  end
86
86
 
87
87
  #
88
- # Syntax highlights an input strema.
88
+ # Syntax highlights an input stream.
89
89
  #
90
90
  # @param [File, IO] input
91
91
  # The input file or `stdin`.
@@ -323,17 +323,23 @@ module Ronin
323
323
  def process_value(url)
324
324
  url = URI(url)
325
325
 
326
- Support::Network::HTTP.request(
327
- @http_method, url, proxy: @proxy,
328
- user_agent: @user_agent,
329
- user: url.user,
330
- password: url.password,
331
- query_params: @query_params,
332
- headers: @headers,
333
- body: @body,
334
- form_data: @form_data,
335
- &method(:print_response)
336
- )
326
+ response = begin
327
+ Support::Network::HTTP.request(
328
+ @http_method, url, proxy: @proxy,
329
+ user_agent: @user_agent,
330
+ user: url.user,
331
+ password: url.password,
332
+ query_params: @query_params,
333
+ headers: @headers,
334
+ body: @body,
335
+ form_data: @form_data
336
+ )
337
+ rescue => error
338
+ print_error(error.message)
339
+ exit(1)
340
+ end
341
+
342
+ print_response(response)
337
343
  end
338
344
 
339
345
  #
@@ -116,7 +116,7 @@ module Ronin
116
116
  end
117
117
 
118
118
  #
119
- # Gets a path to a random tipe.
119
+ # Gets a path to a random tip.
120
120
  #
121
121
  # @param [String, nil] category
122
122
  # The optional tips category to select the random tip from.
@@ -96,7 +96,7 @@ module Ronin
96
96
  end
97
97
 
98
98
  #
99
- # Enumerates over each typo squate of the domain.
99
+ # Enumerates over each typosquat of the domain.
100
100
  #
101
101
  # @param [String] domain
102
102
  # The domain to typo squat.
@@ -17,7 +17,7 @@
17
17
  #
18
18
 
19
19
  require 'ronin/cli/command'
20
- require 'ronin/support/binary/hexdump/parser'
20
+ require 'ronin/support/binary/unhexdump/parser'
21
21
 
22
22
  module Ronin
23
23
  class CLI
@@ -32,7 +32,7 @@ module Ronin
32
32
  # ## Options
33
33
  #
34
34
  # -o, --output FILE Optional output file
35
- # -f, --format od|hexdump Format of the hexdump input (Default: hexdump)
35
+ # -f, --format hexdump|od Format of the hexdump input (Default: hexdump)
36
36
  # -t int8|uint8|char|uchar|byte|int16|int16_le|int16_be|int16_ne|uint16|uint16_le|uint16_be|uint16_ne|short|short_le|short_be|short_ne|ushort|ushort_le|ushort_be|ushort_ne|int32|int32_le|int32_be|int32_ne|uint32|uint32_le|uint32_be|uint32_ne|int|long|long_le|long_be|long_ne|uint|ulong|ulong_le|ulong_be|ulong_ne|int64|int64_le|int64_be|int64_ne|uint64|uint64_le|uint64_be|uint64_ne|long_long|long_long_le|long_long_be|long_long_ne|ulong_long|ulong_long_le|ulong_long_be|ulong_long_ne|float|float_le|float_be|float_ne|double|double_le|double_be|double_ne,
37
37
  # --type The binary data type to decode the data as
38
38
  # -b, --base 2|8|10|16 Numerical base of the hexdumped numbers
@@ -124,7 +124,7 @@ module Ronin
124
124
 
125
125
  option :format, short: '-f',
126
126
  value: {
127
- type: [:od, :hexdump],
127
+ type: [:hexdump, :od],
128
128
  default: :hexdump
129
129
  },
130
130
  desc: 'Format of the hexdump input'
@@ -158,7 +158,7 @@ module Ronin
158
158
  # Optional input file.
159
159
  #
160
160
  def run(file=nil)
161
- parser = Support::Binary::Hexdump::Parser.new(
161
+ parser = Support::Binary::Unhexdump::Parser.new(
162
162
  **hexdump_parser_options
163
163
  )
164
164
 
@@ -182,6 +182,9 @@ module Ronin
182
182
  end
183
183
  end
184
184
 
185
+ # Maps command-line options to
186
+ # `Ronin::Support::Binary::Unhexdump::Parser#initialize` keyword
187
+ # arguments.
185
188
  HEXDUMP_PARSER_OPTIONS = [
186
189
  :format,
187
190
  :type,
@@ -193,7 +196,7 @@ module Ronin
193
196
  #
194
197
  # Builds a keyword arguments `Hash` of all command `options` that will
195
198
  # be directly passed to
196
- # `Ronin::Support::Binary::Hexdump::Parser#initialize`.
199
+ # `Ronin::Support::Binary::Unhexdump::Parser#initialize`.
197
200
  #
198
201
  # @return [Hash{Symbol => Object}]
199
202
  #
@@ -328,7 +328,7 @@ module Ronin
328
328
  # Sends an HTTP request.
329
329
  #
330
330
  # @param [Symbol] method
331
- # The HTTP request mehtod name.
331
+ # The HTTP request method name.
332
332
  #
333
333
  # @param [String] path
334
334
  # The path for the request.
@@ -49,7 +49,7 @@ module Ronin
49
49
  last_chunk = nil
50
50
 
51
51
  response.read_body do |chunk|
52
- print chunk
52
+ stdout.write(chunk)
53
53
 
54
54
  last_chunk = chunk
55
55
  end
@@ -60,7 +60,7 @@ module Ronin
60
60
  #
61
61
  # Returns the syntax lexer for the given `Content-Type` header.
62
62
  #
63
- # @param [String] content_type
63
+ # @param [String, nil] content_type
64
64
  # The HTTP `Content-Type` header value.
65
65
  #
66
66
  # @return [Rouge::Lexers::HTML,
@@ -72,26 +72,27 @@ module Ronin
72
72
  # recognized.
73
73
  #
74
74
  def syntax_lexer_for_content_type(content_type)
75
- syntax_lexer_for(mimetype: content_type.sub(/;.*$/,''))
75
+ mimetype = content_type && content_type.sub(/;.*$/,'')
76
+
77
+ syntax_lexer_for(mimetype: mimetype)
76
78
  end
77
79
 
78
80
  #
79
- # Prints a syntax highlgihted response body.
81
+ # Prints a syntax highlighted response body.
80
82
  #
81
83
  # @param [Net::HTTPResponse] response
82
84
  # The HTTP response object.
83
85
  #
84
86
  def print_highlighted_body(response)
85
87
  content_type = response['Content-Type']
86
- is_utf8 = content_type && content_type.include?('charset=utf-8')
87
88
 
88
89
  lexer = syntax_lexer_for_content_type(content_type)
89
90
  last_chunk = nil
90
91
 
91
92
  response.read_body do |chunk|
92
- chunk.force_encoding(Encoding::UTF_8) if is_utf8
93
+ chunk.force_encoding(Encoding::UTF_8)
93
94
 
94
- print @syntax_formatter.format(lexer.lex(chunk))
95
+ stdout.write(@syntax_formatter.format(lexer.lex(chunk)))
95
96
 
96
97
  last_chunk = chunk
97
98
  end
@@ -114,7 +115,7 @@ module Ronin
114
115
  end
115
116
 
116
117
  #
117
- # Prints the respnse headers.
118
+ # Prints the response headers.
118
119
  #
119
120
  # @param [Net::HTTPResponse] response
120
121
  # The HTTP response object.
@@ -37,7 +37,7 @@ module Ronin
37
37
  attr_reader :string
38
38
 
39
39
  #
40
- # Initializes the stirng value.
40
+ # Initializes the string value.
41
41
  #
42
42
  # @param [String] string
43
43
  # The string value.
@@ -120,7 +120,7 @@ module Ronin
120
120
  # Runs the command.
121
121
  #
122
122
  # @param [Array<String>] files
123
- # Additional files to proceess.
123
+ # Additional files to process.
124
124
  #
125
125
  def run(*files)
126
126
  if (files.empty? && @input_values.empty?)
data/lib/ronin/cli.rb CHANGED
@@ -46,6 +46,7 @@ module Ronin
46
46
  command_aliases['dec'] = 'decode'
47
47
  command_aliases['nc'] = 'netcat'
48
48
 
49
+ # Additional `ronin-` commands to checkout.
49
50
  ADDITIONAL_RONIN_COMMANDS = %w[
50
51
  ronin-repos
51
52
  ronin-db
data/lib/ronin/version.rb CHANGED
@@ -18,5 +18,5 @@
18
18
 
19
19
  module Ronin
20
20
  # ronin version
21
- VERSION = '2.0.0.beta4'
21
+ VERSION = '2.0.0.beta5'
22
22
  end
data/man/ronin-asn.1 CHANGED
@@ -20,7 +20,7 @@ the given \fINUMBER\fP, \fINAME\fP, or \fICOUNTRY\fP code\.
20
20
  Prints multi\-line human readable output\.
21
21
  .LP
22
22
  .TP
23
- \fB-U\fR, \fB--ur\fRl \fIURI\fP
23
+ \fB-U\fR, \fB--url\fR \fIURI\fP
24
24
  Overrides the default ASN list URL\. Defaults to
25
25
  \fBhttps://iptoasn.com/data/ip2asn-combined.tsv.gz\fR\.
26
26
  .LP
@@ -38,7 +38,7 @@ Updates the ASN list file\.
38
38
  Searches for all ASN records with the AS number\.
39
39
  .LP
40
40
  .TP
41
- \fB-C\fR, \fB--country-code\fR \fIXX\fP\[or]\fBNone\fR\[or]\fBUknown\fR
41
+ \fB-C\fR, \fB--country-code\fR \fIXX\fP\[or]\fBNone\fR\[or]\fBUnknown\fR
42
42
  Searches for all ASN records with the country code\.
43
43
  .LP
44
44
  .TP
data/man/ronin-asn.1.md CHANGED
@@ -14,7 +14,7 @@ the given *NUMBER*, *NAME*, or *COUNTRY* code.
14
14
  `-v`, `--verbose`
15
15
  Prints multi-line human readable output.
16
16
 
17
- `-U`, `--ur`l *URI*
17
+ `-U`, `--url` *URI*
18
18
  Overrides the default ASN list URL. Defaults to
19
19
  `https://iptoasn.com/data/ip2asn-combined.tsv.gz`.
20
20
 
@@ -28,7 +28,7 @@ the given *NUMBER*, *NAME*, or *COUNTRY* code.
28
28
  `-n`, `--number` *NUM*\|AS*NUM*
29
29
  Searches for all ASN records with the AS number.
30
30
 
31
- `-C`, `--country-code` *XX*|`None`|`Uknown`
31
+ `-C`, `--country-code` *XX*|`None`|`Unknown`
32
32
  Searches for all ASN records with the country code.
33
33
 
34
34
  `-N`, `--name` *NAME*
@@ -55,35 +55,35 @@ Print help information\.
55
55
  Print the certificate information for the cert file:
56
56
  .LP
57
57
  .nf
58
- ronin cert\-dump ssl\.crt
58
+ ronin cert\-dump ssl\.crt
59
59
  .fi
60
60
  .LP
61
61
  .PP
62
62
  Print the certificate information for a SSL\[sl]TLS service:
63
63
  .LP
64
64
  .nf
65
- ronin cert\-dump github\.com:443
65
+ ronin cert\-dump github\.com:443
66
66
  .fi
67
67
  .LP
68
68
  .PP
69
69
  Print the certificate information for a URL:
70
70
  .LP
71
71
  .nf
72
- ronin cert\-dump https:\[sl]\[sl]github\.com
72
+ ronin cert\-dump https:\[sl]\[sl]github\.com
73
73
  .fi
74
74
  .LP
75
75
  .PP
76
- Only print the Common Nmae (CN) for a SSL\[sl]TLS service:
76
+ Only print the Common Name (CN) for a SSL\[sl]TLS service:
77
77
  .LP
78
78
  .nf
79
- ronin cert\-dump \-C 93\.184\.216\.34:443
79
+ ronin cert\-dump \-C 93\.184\.216\.34:443
80
80
  .fi
81
81
  .LP
82
82
  .PP
83
83
  Only print the \fBsubjectAltName\fRs for a SSL\[sl]TLS service:
84
84
  .LP
85
85
  .nf
86
- ronin cert\-dump \-A wired\.com:443
86
+ ronin cert\-dump \-A wired\.com:443
87
87
  .fi
88
88
  .LP
89
89
  .SH AUTHOR
@@ -41,23 +41,23 @@ Prints SSL/TLS certificate information for one or more SSL/TLS services,
41
41
 
42
42
  Print the certificate information for the cert file:
43
43
 
44
- ronin cert-dump ssl.crt
44
+ ronin cert-dump ssl.crt
45
45
 
46
46
  Print the certificate information for a SSL/TLS service:
47
47
 
48
- ronin cert-dump github.com:443
48
+ ronin cert-dump github.com:443
49
49
 
50
50
  Print the certificate information for a URL:
51
51
 
52
- ronin cert-dump https://github.com
52
+ ronin cert-dump https://github.com
53
53
 
54
- Only print the Common Nmae (CN) for a SSL/TLS service:
54
+ Only print the Common Name (CN) for a SSL/TLS service:
55
55
 
56
- ronin cert-dump -C 93.184.216.34:443
56
+ ronin cert-dump -C 93.184.216.34:443
57
57
 
58
58
  Only print the `subjectAltName`s for a SSL/TLS service:
59
59
 
60
- ronin cert-dump -A wired.com:443
60
+ ronin cert-dump -A wired.com:443
61
61
 
62
62
  ## AUTHOR
63
63
 
@@ -57,14 +57,14 @@ Print help information
57
57
  Deobfuscates an email address:
58
58
  .LP
59
59
  .nf
60
- \[Do] ronin email\-addr \-\-deobfuscate \[dq]john\[lC]DOT\[rC]smith\[lC]AT\[rC]example\[lC]DOT\[rC]com\[dq]\(aq
60
+ ronin email\-addr \-\-deobfuscate \[dq]john\[lC]DOT\[rC]smith\[lC]AT\[rC]example\[lC]DOT\[rC]com\[dq]\(aq
61
61
  .fi
62
62
  .LP
63
63
  .PP
64
64
  Extracts the domain name from a list of email addresses:
65
65
  .LP
66
66
  .nf
67
- \[Do] ronin email\-addr \-\-input emails\.txt \-\-domain
67
+ ronin email\-addr \-\-input emails\.txt \-\-domain
68
68
  .fi
69
69
  .LP
70
70
  .SH AUTHOR
@@ -42,11 +42,11 @@ Processes one or more email addresses.
42
42
 
43
43
  Deobfuscates an email address:
44
44
 
45
- $ ronin email-addr --deobfuscate "john{DOT}smith{AT}example{DOT}com"'
45
+ ronin email-addr --deobfuscate "john{DOT}smith{AT}example{DOT}com"'
46
46
 
47
47
  Extracts the domain name from a list of email addresses:
48
48
 
49
- $ ronin email-addr --input emails.txt --domain
49
+ ronin email-addr --input emails.txt --domain
50
50
 
51
51
  ## AUTHOR
52
52
 
data/man/ronin-hexdump.1 CHANGED
@@ -310,6 +310,195 @@ Background colors:
310
310
  \fBon_white\fR
311
311
  .RE
312
312
  .LP
313
+ .SH EXAMPLES
314
+ .LP
315
+ .PP
316
+ Hexdump a file:
317
+ .LP
318
+ .nf
319
+ \[Do] ronin hexdump \[sl]bin\[sl]ls
320
+ 00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 \[or]\.ELF\.\.\.\.\.\.\.\.\.\.\.\.\[or]
321
+ 00000010 03 00 3e 00 01 00 00 00 d0 6b 00 00 00 00 00 00 \[or]\.\.>\.\.\.\.\.\.k\.\.\.\.\.\.\[or]
322
+ 00000020 40 00 00 00 00 00 00 00 18 23 02 00 00 00 00 00 \[or]\[at]\.\.\.\.\.\.\.\.\[sh]\.\.\.\.\.\.\[or]
323
+ 00000030 00 00 00 00 40 00 38 00 0d 00 40 00 20 00 1f 00 \[or]\.\.\.\.\[at]\.8\.\.\.\[at]\. \.\.\.\[or]
324
+ 00000040 06 00 00 00 04 00 00 00 40 00 00 00 00 00 00 00 \[or]\.\.\.\.\.\.\.\.\[at]\.\.\.\.\.\.\.\[or]
325
+ 00000050 40 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 \[or]\[at]\.\.\.\.\.\.\.\[at]\.\.\.\.\.\.\.\[or]
326
+ \.\.\.
327
+ .fi
328
+ .LP
329
+ .PP
330
+ Hexdump a UTF\-8 data:
331
+ .LP
332
+ .nf
333
+ \[Do] ronin hexdump \-\-encoding utf8 file\.txt
334
+ 00000000 e8 80 80 e8 80 80 e8 80 80 e8 80 80 e8 80 80 e8 \[or]耀耀耀耀耀\.\[or]
335
+ 00000010 80 80 e8 80 80 e8 80 80 \[or]\.\.耀耀\[or]
336
+ 00000018
337
+ .fi
338
+ .LP
339
+ .PP
340
+ Control the number of columns:
341
+ .LP
342
+ .nf
343
+ \[Do] ronin hexdump \-\-columns 10 a\.txt
344
+ 00000000 41 41 41 41 41 41 41 41 41 41 \[or]AAAAAAAAAA\[or]
345
+ \.\.\.
346
+ .fi
347
+ .LP
348
+ .PP
349
+ Show repeating data instead of omitting them with a \fB*\fR:
350
+ .LP
351
+ .nf
352
+ \[Do] ronin hexdump \-\-repeating a\.txt
353
+ 00000000 41 41 41 41 41 41 41 41 41 41 \[or]AAAAAAAAAA\[or]
354
+ 0000000a 41 41 41 41 41 41 41 41 41 41 \[or]AAAAAAAAAA\[or]
355
+ 00000014 41 41 41 41 41 41 41 41 41 41 \[or]AAAAAAAAAA\[or]
356
+ .fi
357
+ .LP
358
+ .PP
359
+ Grouping columns together:
360
+ .LP
361
+ .nf
362
+ \[Do] ronin hexdump \-\-group\-columns 4 \-\-columns 16 abcd\.txt
363
+ 00000000 41 42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 \[or]ABCDABCDABCDABCD\[or]
364
+ \.\.\.
365
+ .fi
366
+ .LP
367
+ .PP
368
+ Grouping the characters together:
369
+ .LP
370
+ .nf
371
+ \[Do] ronin hexdump \-\-group\-chars 4 abcd\.txt
372
+ 00000000 41 42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 \[or]ABCD\[or]ABCD\[or]ABCD\[or]ABCD\[or]
373
+ \.\.\.
374
+ .fi
375
+ .LP
376
+ .PP
377
+ Disabling the characters column:
378
+ .LP
379
+ .nf
380
+ \[Do] ronin hexdump \-\-no\-chars\-column a\.txt
381
+ 00000000 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
382
+ \.\.\.
383
+ .fi
384
+ .LP
385
+ .PP
386
+ Print the numbers as decimals (base 10):
387
+ .LP
388
+ .nf
389
+ \[Do] ronin hexdump \-\-base 10 hello\.txt
390
+ 00000000 104 101 108 108 111 0 \[or]hello\.\[or]
391
+ .fi
392
+ .LP
393
+ .PP
394
+ Print the numbers as octals (base 8):
395
+ .LP
396
+ .nf
397
+ \[Do] ronin hexdump \-\-base 8 hello\.txt
398
+ 00000000 0150 0145 0154 0154 0157 0000 \[or]hello\.\[or]
399
+ .fi
400
+ .LP
401
+ .PP
402
+ Print the numbers as binary (base 2):
403
+ .LP
404
+ .nf
405
+ \[Do] ronin hexdump \-\-base 2 hello\.txt
406
+ 00000000 01101000 01100101 01101100 01101100 01101111 00000000 \[or]hello\.\[or]
407
+ .fi
408
+ .LP
409
+ .PP
410
+ Decode \fBuint32\fR values:
411
+ .LP
412
+ .nf
413
+ \[Do] ronin hexdump \-\-type uint32 abcd\.txt
414
+ 00000000 44434241 44434241 44434241 44434241 \[or]ABCDABCDABCDABCD\[or]
415
+ \.\.\.
416
+ .fi
417
+ .LP
418
+ .PP
419
+ Decode \fBuint32\fR (little\-endian) values:
420
+ .LP
421
+ .nf
422
+ \[Do] ronin hexdump \-\-type uint32\[ru]le abcd\.txt
423
+ 00000000 44434241 44434241 44434241 44434241 \[or]ABCDABCDABCDABCD\[or]
424
+ \.\.\.
425
+ .fi
426
+ .LP
427
+ .PP
428
+ Decode \fBuint32\fR (big\-endian) values:
429
+ .LP
430
+ .nf
431
+ \[Do] ronin hexdump \-\-type uint32\[ru]be abcd\.txt
432
+ 00000000 41424344 41424344 41424344 41424344 \[or]ABCDABCDABCDABCD\[or]
433
+ \.\.\.
434
+ .fi
435
+ .LP
436
+ .PP
437
+ Decode \fBint32\fR values:
438
+ .LP
439
+ .nf
440
+ \[Do] ronin hexdump \-\-type int32 \-\-base 10 data\.bin
441
+ 00000000 65535 \-1 \[or]\.\.\.\.\.\.\.\.\[or]
442
+ 00000008
443
+ .fi
444
+ .LP
445
+ .PP
446
+ Decode characters:
447
+ .LP
448
+ .nf
449
+ \[Do] ronin hexdump \-\-type char hello\.txt
450
+ 00000000 h e l l o \e0 \[or]hello\.\[or]
451
+ 00000006
452
+ .fi
453
+ .LP
454
+ .PP
455
+ Decode \fBfloat\fR values:
456
+ .LP
457
+ .nf
458
+ \[Do] ronin hexdump \-\-type float64\[ru]le floats\.bin
459
+ 00000000 0\.000000e\[pl]00 1\.000000e\[pl]00 \[or]\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.?\[or]
460
+ 00000010 \-1\.000000e\[pl]00 NaN \[or]\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\[or]
461
+ \.\.\.
462
+ .fi
463
+ .LP
464
+ .PP
465
+ Skipping to an offset:
466
+ .LP
467
+ .nf
468
+ \[Do] ronin hexdump \-\-offset 7 data\.bin
469
+ .fi
470
+ .LP
471
+ .PP
472
+ Zero\-pad the data:
473
+ .LP
474
+ .nf
475
+ \[Do] ronin hexdump \-\-type uint32\[ru]be \-\-zero\-pad abcd\.txt
476
+ 00000000 41424344 41424344 41424344 41424344 \[or]ABCDABCDABCDABCD\[or]
477
+ 00000010 41420000 \[or]AB\.\.\[or]
478
+ 00000014
479
+ .fi
480
+ .LP
481
+ .PP
482
+ ANSI coloring:
483
+ .LP
484
+ .nf
485
+ \[Do] ronin hexdump \-\-style\-index white \e
486
+ \-\-style\-numeric green \e
487
+ \-\-style\-chars cyan \e
488
+ data\.bin
489
+ .fi
490
+ .LP
491
+ .PP
492
+ ANSI highlighting:
493
+ .LP
494
+ .nf
495
+ \[Do] ronin hexdump \-\-highlight\-index \[sl]00\[Do]\[sl]:white,bold \e
496
+ \-\-highlight\-numeric \[sl]\(ha\[lB]8\-f\[rB]\[lB]0\-9a\-f\[rB]\[Do]\[sl]:faint \e
497
+ \-\-highlight\-numeric \[sl]f\[sl]:cyan \e
498
+ \-\-highlight\-numeric 00:black,on\[ru]red \e
499
+ \-\-highlight\-chars \[sl]\[lB]\(ha\e\.\[rB]\[pl]\[sl]:green data\.bin
500
+ .fi
501
+ .LP
313
502
  .SH AUTHOR
314
503
  .LP
315
504
  .PP
@@ -188,6 +188,135 @@ Background colors:
188
188
  * `on_cyan`
189
189
  * `on_white`
190
190
 
191
+ ## EXAMPLES
192
+
193
+ Hexdump a file:
194
+
195
+ $ ronin hexdump /bin/ls
196
+ 00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
197
+ 00000010 03 00 3e 00 01 00 00 00 d0 6b 00 00 00 00 00 00 |..>......k......|
198
+ 00000020 40 00 00 00 00 00 00 00 18 23 02 00 00 00 00 00 |@........#......|
199
+ 00000030 00 00 00 00 40 00 38 00 0d 00 40 00 20 00 1f 00 |....@.8...@. ...|
200
+ 00000040 06 00 00 00 04 00 00 00 40 00 00 00 00 00 00 00 |........@.......|
201
+ 00000050 40 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |@.......@.......|
202
+ ...
203
+
204
+ Hexdump a UTF-8 data:
205
+
206
+ $ ronin hexdump --encoding utf8 file.txt
207
+ 00000000 e8 80 80 e8 80 80 e8 80 80 e8 80 80 e8 80 80 e8 |耀耀耀耀耀.|
208
+ 00000010 80 80 e8 80 80 e8 80 80 |..耀耀|
209
+ 00000018
210
+
211
+ Control the number of columns:
212
+
213
+ $ ronin hexdump --columns 10 a.txt
214
+ 00000000 41 41 41 41 41 41 41 41 41 41 |AAAAAAAAAA|
215
+ ...
216
+
217
+ Show repeating data instead of omitting them with a `*`:
218
+
219
+ $ ronin hexdump --repeating a.txt
220
+ 00000000 41 41 41 41 41 41 41 41 41 41 |AAAAAAAAAA|
221
+ 0000000a 41 41 41 41 41 41 41 41 41 41 |AAAAAAAAAA|
222
+ 00000014 41 41 41 41 41 41 41 41 41 41 |AAAAAAAAAA|
223
+
224
+ Grouping columns together:
225
+
226
+ $ ronin hexdump --group-columns 4 --columns 16 abcd.txt
227
+ 00000000 41 42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 |ABCDABCDABCDABCD|
228
+ ...
229
+
230
+ Grouping the characters together:
231
+
232
+ $ ronin hexdump --group-chars 4 abcd.txt
233
+ 00000000 41 42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 |ABCD|ABCD|ABCD|ABCD|
234
+ ...
235
+
236
+ Disabling the characters column:
237
+
238
+ $ ronin hexdump --no-chars-column a.txt
239
+ 00000000 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
240
+ ...
241
+
242
+ Print the numbers as decimals (base 10):
243
+
244
+ $ ronin hexdump --base 10 hello.txt
245
+ 00000000 104 101 108 108 111 0 |hello.|
246
+
247
+ Print the numbers as octals (base 8):
248
+
249
+ $ ronin hexdump --base 8 hello.txt
250
+ 00000000 0150 0145 0154 0154 0157 0000 |hello.|
251
+
252
+ Print the numbers as binary (base 2):
253
+
254
+ $ ronin hexdump --base 2 hello.txt
255
+ 00000000 01101000 01100101 01101100 01101100 01101111 00000000 |hello.|
256
+
257
+ Decode `uint32` values:
258
+
259
+ $ ronin hexdump --type uint32 abcd.txt
260
+ 00000000 44434241 44434241 44434241 44434241 |ABCDABCDABCDABCD|
261
+ ...
262
+
263
+ Decode `uint32` (little-endian) values:
264
+
265
+ $ ronin hexdump --type uint32_le abcd.txt
266
+ 00000000 44434241 44434241 44434241 44434241 |ABCDABCDABCDABCD|
267
+ ...
268
+
269
+ Decode `uint32` (big-endian) values:
270
+
271
+ $ ronin hexdump --type uint32_be abcd.txt
272
+ 00000000 41424344 41424344 41424344 41424344 |ABCDABCDABCDABCD|
273
+ ...
274
+
275
+ Decode `int32` values:
276
+
277
+ $ ronin hexdump --type int32 --base 10 data.bin
278
+ 00000000 65535 -1 |........|
279
+ 00000008
280
+
281
+ Decode characters:
282
+
283
+ $ ronin hexdump --type char hello.txt
284
+ 00000000 h e l l o \0 |hello.|
285
+ 00000006
286
+
287
+ Decode `float` values:
288
+
289
+ $ ronin hexdump --type float64_le floats.bin
290
+ 00000000 0.000000e+00 1.000000e+00 |...............?|
291
+ 00000010 -1.000000e+00 NaN |................|
292
+ ...
293
+
294
+ Skipping to an offset:
295
+
296
+ $ ronin hexdump --offset 7 data.bin
297
+
298
+ Zero-pad the data:
299
+
300
+ $ ronin hexdump --type uint32_be --zero-pad abcd.txt
301
+ 00000000 41424344 41424344 41424344 41424344 |ABCDABCDABCDABCD|
302
+ 00000010 41420000 |AB..|
303
+ 00000014
304
+
305
+ ANSI coloring:
306
+
307
+ $ ronin hexdump --style-index white \
308
+ --style-numeric green \
309
+ --style-chars cyan \
310
+ data.bin
311
+
312
+ ANSI highlighting:
313
+
314
+ $ ronin hexdump --highlight-index /00$/:white,bold \
315
+ --highlight-numeric /^[8-f][0-9a-f]$/:faint \
316
+ --highlight-numeric /f/:cyan \
317
+ --highlight-numeric 00:black,on_red \
318
+ --highlight-chars /[^\.]+/:green data.bin
319
+
191
320
  ## AUTHOR
192
321
 
193
322
  Postmodern <postmodern.mod3@gmail.com>
@@ -41,6 +41,36 @@ Adds a \fBDockerfile\fR to the new project\.
41
41
  \fB-h\fR, \fB--help\fR
42
42
  Print help information
43
43
  .LP
44
+ .SH EXAMPLES
45
+ .LP
46
+ .PP
47
+ Generate a new Ruby project:
48
+ .LP
49
+ .nf
50
+ ronin new project path\[sl]to\[sl]dir
51
+ .fi
52
+ .LP
53
+ .PP
54
+ Set the desired ruby version for the project:
55
+ .LP
56
+ .nf
57
+ ronin new project \-\-ruby\-version 3\.2\.0 path\[sl]to\[sl]dir
58
+ .fi
59
+ .LP
60
+ .PP
61
+ Add a \fBRakefile\fR to the project for defining automated tasks:
62
+ .LP
63
+ .nf
64
+ ronin new project \-\-rakefile path\[sl]to\[sl]dir
65
+ .fi
66
+ .LP
67
+ .PP
68
+ Add a \fBDockerfile\fR to the project:
69
+ .LP
70
+ .nf
71
+ ronin new project \-\-dockerfile path\[sl]to\[sl]dir
72
+ .fi
73
+ .LP
44
74
  .SH AUTHOR
45
75
  .LP
46
76
  .PP
@@ -31,6 +31,24 @@ Creates a new Ruby project directory.
31
31
  `-h`, `--help`
32
32
  Print help information
33
33
 
34
+ ## EXAMPLES
35
+
36
+ Generate a new Ruby project:
37
+
38
+ ronin new project path/to/dir
39
+
40
+ Set the desired ruby version for the project:
41
+
42
+ ronin new project --ruby-version 3.2.0 path/to/dir
43
+
44
+ Add a `Rakefile` to the project for defining automated tasks:
45
+
46
+ ronin new project --rakefile path/to/dir
47
+
48
+ Add a `Dockerfile` to the project:
49
+
50
+ ronin new project --dockerfile path/to/dir
51
+
34
52
  ## AUTHOR
35
53
 
36
54
  Postmodern <postmodern.mod3@gmail.com>
@@ -24,6 +24,15 @@ The path to the new script file\.
24
24
  \fB-h\fR, \fB--help\fR
25
25
  Print help information
26
26
  .LP
27
+ .SH EXAMPLES
28
+ .LP
29
+ .PP
30
+ Generate a new Ruby script:
31
+ .LP
32
+ .nf
33
+ ronin new script file\.rb
34
+ .fi
35
+ .LP
27
36
  .SH AUTHOR
28
37
  .LP
29
38
  .PP
@@ -18,6 +18,12 @@ Creates a new standalone Ruby script.
18
18
  `-h`, `--help`
19
19
  Print help information
20
20
 
21
+ ## EXAMPLES
22
+
23
+ Generate a new Ruby script:
24
+
25
+ ronin new script file.rb
26
+
21
27
  ## AUTHOR
22
28
 
23
29
  Postmodern <postmodern.mod3@gmail.com>
data/man/ronin-new.1 CHANGED
@@ -38,6 +38,22 @@ Generates a new standalone Ruby script\.
38
38
  \fIhelp\fP
39
39
  Lists available \fBronin new\fR commands\.
40
40
  .LP
41
+ .SH EXAMPLES
42
+ .LP
43
+ .PP
44
+ Generate a new Ruby script:
45
+ .LP
46
+ .nf
47
+ ronin new script file\.rb
48
+ .fi
49
+ .LP
50
+ .PP
51
+ Generate a new Ruby project:
52
+ .LP
53
+ .nf
54
+ ronin new project path\[sl]to\[sl]dir
55
+ .fi
56
+ .LP
41
57
  .SH AUTHOR
42
58
  .LP
43
59
  .PP
data/man/ronin-new.1.md CHANGED
@@ -29,6 +29,16 @@ Creates a new project or script.
29
29
  *help*
30
30
  Lists available `ronin new` commands.
31
31
 
32
+ ## EXAMPLES
33
+
34
+ Generate a new Ruby script:
35
+
36
+ ronin new script file.rb
37
+
38
+ Generate a new Ruby project:
39
+
40
+ ronin new project path/to/dir
41
+
32
42
  ## AUTHOR
33
43
 
34
44
  Postmodern <postmodern.mod3@gmail.com>
data/man/ronin-proxy.1 CHANGED
@@ -5,7 +5,7 @@
5
5
  .SH SYNOPSIS
6
6
  .LP
7
7
  .HP
8
- \fBronin proxy\fR \[lB]\fIoptions\fP\[rB] \[lB]\fIPROXY\[ru]HOST\fP:\[rB]\fIPROXY\[ru]PORT\fP \fIUPSTREAM\[ru]HOST\fP:\fIUPSTRAM\[ru]PORT\fP
8
+ \fBronin proxy\fR \[lB]\fIoptions\fP\[rB] \[lB]\fIPROXY\[ru]HOST\fP:\[rB]\fIPROXY\[ru]PORT\fP \fIUPSTREAM\[ru]HOST\fP:\fIUPSTREAM\[ru]PORT\fP
9
9
  .LP
10
10
  .SH DESCRIPTION
11
11
  .LP
@@ -104,15 +104,21 @@ Reset the connection if the server sends a message matching the REGEXP\.
104
104
  .LP
105
105
  .SH EXAMPLES
106
106
  .LP
107
- .TP
108
- \fBronin proxy 8080 google.com:80\fR
107
+ .PP
109
108
  Starts a TCP proxy listening on \fBlocalhost\fR port 8080 that forwards all data
110
- to \fBgoogle.com\fR port 80\.
109
+ to \fBgoogle.com\fR port 80:
111
110
  .LP
112
- .TP
113
- \fBsudo ronin proxy --udp --hexdump 0.0.0.0:53 8.8.8.8:53\fR
111
+ .nf
112
+ ronin proxy 8080 google\.com:80
113
+ .fi
114
+ .LP
115
+ .PP
114
116
  Starts a UDP proxy listening on \fB0.8.0.0\fR port 53 that forwards all data to
115
- \fB8.8.8.8\fR port 53\.
117
+ \fB8.8.8.8\fR port 53:
118
+ .LP
119
+ .nf
120
+ sudo ronin proxy \-\-udp \-\-hexdump 0\.0\.0\.0:53 8\.8\.8\.8:53
121
+ .fi
116
122
  .LP
117
123
  .SH AUTHOR
118
124
  .LP
data/man/ronin-proxy.1.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## SYNOPSIS
4
4
 
5
- `ronin proxy` [*options*] [*PROXY_HOST*:]*PROXY_PORT* *UPSTREAM_HOST*:*UPSTRAM_PORT*
5
+ `ronin proxy` [*options*] [*PROXY_HOST*:]*PROXY_PORT* *UPSTREAM_HOST*:*UPSTREAM_PORT*
6
6
 
7
7
  ## DESCRIPTION
8
8
 
@@ -79,13 +79,15 @@ Starts the Ronin TCP/UDP/SSL/TLS Proxy.
79
79
 
80
80
  ## EXAMPLES
81
81
 
82
- `ronin proxy 8080 google.com:80`
83
- Starts a TCP proxy listening on `localhost` port 8080 that forwards all data
84
- to `google.com` port 80.
82
+ Starts a TCP proxy listening on `localhost` port 8080 that forwards all data
83
+ to `google.com` port 80:
85
84
 
86
- `sudo ronin proxy --udp --hexdump 0.0.0.0:53 8.8.8.8:53`
87
- Starts a UDP proxy listening on `0.8.0.0` port 53 that forwards all data to
88
- `8.8.8.8` port 53.
85
+ ronin proxy 8080 google.com:80
86
+
87
+ Starts a UDP proxy listening on `0.8.0.0` port 53 that forwards all data to
88
+ `8.8.8.8` port 53:
89
+
90
+ sudo ronin proxy --udp --hexdump 0.0.0.0:53 8.8.8.8:53
89
91
 
90
92
  ## AUTHOR
91
93
 
@@ -25,6 +25,10 @@ The optional path to the file to un\-hexdump\.
25
25
  \fB-o\fR, \fB--output\fR \fIFILE\fP
26
26
  Optional path to the output file\.
27
27
  .LP
28
+ .HP
29
+ \fB-f\fR, \fB--format\fR \[lB]\fBhexdump\fR\[or]\fBod\fR\[rB]
30
+ Specifies the hexdump format to parse\.
31
+ .LP
28
32
  .TP
29
33
  \fB-t\fR, \fB--type\fR \fITYPE\fP
30
34
  The binary data type to decode the data as\. Must be one of the following:
@@ -174,6 +178,29 @@ Enables parsing of \fBod\fR\-style named characters (ex: \fBnul\fR)\.
174
178
  \fB-h\fR, \fB--help\fR
175
179
  Prints help information\.
176
180
  .LP
181
+ .SH EXAMPLES
182
+ .LP
183
+ .PP
184
+ Unhexdump a \fBhexdump -C\fR hexdump:
185
+ .LP
186
+ .nf
187
+ ronin unhexdump \-o raw\.bin hexdump\.txt
188
+ .fi
189
+ .LP
190
+ .PP
191
+ Unhexdump a \fBhexdump\fR hexdump:
192
+ .LP
193
+ .nf
194
+ ronin unhexdump \-o raw\.bin \-t uint16\[ru]le hexdump\.txt
195
+ .fi
196
+ .LP
197
+ .PP
198
+ Unhexdump an \fBod\fR hexdump:
199
+ .LP
200
+ .nf
201
+ ronin unhexdump \-o raw\.bin \-f od od\.txt
202
+ .fi
203
+ .LP
177
204
  .SH AUTHOR
178
205
  .LP
179
206
  .PP
@@ -19,6 +19,9 @@ Supports a variety of formats, bases, and encodings.
19
19
  `-o`, `--output` *FILE*
20
20
  Optional path to the output file.
21
21
 
22
+ `-f`, `--format` [`hexdump`\|`od`]
23
+ Specifies the hexdump format to parse.
24
+
22
25
  `-t`, `--type` *TYPE*
23
26
  The binary data type to decode the data as. Must be one of the following:
24
27
 
@@ -98,6 +101,20 @@ Supports a variety of formats, bases, and encodings.
98
101
  `-h`, `--help`
99
102
  Prints help information.
100
103
 
104
+ ## EXAMPLES
105
+
106
+ Unhexdump a `hexdump -C` hexdump:
107
+
108
+ ronin unhexdump -o raw.bin hexdump.txt
109
+
110
+ Unhexdump a `hexdump` hexdump:
111
+
112
+ ronin unhexdump -o raw.bin -t uint16_le hexdump.txt
113
+
114
+ Unhexdump an `od` hexdump:
115
+
116
+ ronin unhexdump -o raw.bin -f od od.txt
117
+
101
118
  ## AUTHOR
102
119
 
103
120
  Postmodern <postmodern.mod3@gmail.com>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta4
4
+ version: 2.0.0.beta5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Postmodern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-15 00:00:00.000000000 Z
11
+ date: 2023-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: open_namespace
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.0.0.beta2
75
+ version: 1.0.0.beta3
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.0.0.beta2
82
+ version: 1.0.0.beta3
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: ronin-core
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -114,42 +114,42 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 0.1.0.beta2
117
+ version: 0.1.0.beta3
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.1.0.beta2
124
+ version: 0.1.0.beta3
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: ronin-fuzzer
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.1.0.beta1
131
+ version: 0.1.0.beta2
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 0.1.0.beta1
138
+ version: 0.1.0.beta2
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: ronin-web
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 1.0.0.beta3
145
+ version: 1.0.0.beta4
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 1.0.0.beta3
152
+ version: 1.0.0.beta4
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: ronin-code-asm
155
155
  requirement: !ruby/object:Gem::Requirement