ronin 2.0.0.beta4 → 2.0.0.beta5

Sign up to get free protection for your applications and to get access to all the features.
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