ronin 1.1.0.rc1 → 1.1.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +11 -3
- data/gemspec.yml +1 -2
- data/lib/ronin/arch.rb +33 -36
- data/lib/ronin/model/has_unique_name/class_methods.rb +3 -0
- data/lib/ronin/repository.rb +6 -0
- data/lib/ronin/ui/cli/commands/repos.rb +1 -1
- data/lib/ronin/version.rb +1 -1
- data/spec/arch_spec.rb +4 -0
- metadata +50 -61
data/README.md
CHANGED
@@ -130,8 +130,6 @@ Remove a Database:
|
|
130
130
|
|
131
131
|
* [Ruby](http://www.ruby-lang.org/) >= 1.8.7
|
132
132
|
* [DataMapper](http://datamapper.org/):
|
133
|
-
* [dm-do-adapter](http://github.com/datamapper/dm-do-adapter#readme)
|
134
|
-
~> 1.1.0
|
135
133
|
* [dm-sqlite-adapter](http://github.com/datamapper/dm-sqlite-adapter#readme)
|
136
134
|
~> 1.1.0
|
137
135
|
* [libsqlite3](http://sqlite.org/)
|
@@ -163,6 +161,16 @@ Remove a Database:
|
|
163
161
|
~> 0.2
|
164
162
|
* [pullr](http://github.com/postmodern/pullr#readme)
|
165
163
|
~> 0.1, >= 0.1.2
|
164
|
+
* [ripl](https://github.com/cldwalker/ripl#readme)
|
165
|
+
~> 0.3:
|
166
|
+
* [ripl-multi_line](https://github.com/janlelis/ripl-multi_line#readme)
|
167
|
+
~> 0.2
|
168
|
+
* [ripl-auto_indent](https://github.com/janlelis/ripl-auto_indent#readme)
|
169
|
+
~> 0.1
|
170
|
+
* [ripl-short_errors](http://rubygems.org/gems/ripl-short_errors)
|
171
|
+
~> 0.1
|
172
|
+
* [ripl-color_result](https://github.com/janlelis/ripl-color_result#readme)
|
173
|
+
~> 0.3
|
166
174
|
* [thor](http://github.com/wycats/thor#readme)
|
167
175
|
~> 0.14.3
|
168
176
|
* [ronin-support](http://github.com/ronin-ruby/ronin-support#readme)
|
@@ -170,7 +178,7 @@ Remove a Database:
|
|
170
178
|
|
171
179
|
## Install
|
172
180
|
|
173
|
-
$
|
181
|
+
$ gem install ronin
|
174
182
|
|
175
183
|
## Additional Libraries
|
176
184
|
|
data/gemspec.yml
CHANGED
@@ -36,7 +36,6 @@ required_ruby_version: ">= 1.8.7"
|
|
36
36
|
|
37
37
|
dependencies:
|
38
38
|
# DataMapper adapters
|
39
|
-
dm-do-adapter: ~> 1.1.0
|
40
39
|
dm-sqlite-adapter: ~> 1.1.0
|
41
40
|
# DataMapper dependencies
|
42
41
|
dm-core: ~> 1.1.0
|
@@ -70,6 +69,6 @@ dependencies:
|
|
70
69
|
|
71
70
|
development_dependencies:
|
72
71
|
bundler: ~> 1.0.10
|
73
|
-
yard: ~> 0.
|
72
|
+
yard: ~> 0.7.0
|
74
73
|
yard-dm: ~> 0.1.1
|
75
74
|
yard-dm-is-predefined: ~> 0.2.0
|
data/lib/ronin/arch.rb
CHANGED
@@ -25,9 +25,8 @@ require 'dm-is-predefined'
|
|
25
25
|
module Ronin
|
26
26
|
#
|
27
27
|
# Represents a Computer Architecture and pre-defines many other common
|
28
|
-
# architectures ({
|
29
|
-
# {
|
30
|
-
# and {arm_be}).
|
28
|
+
# architectures ({x86}, {x86_64}, {ia64}, {ppc}, {ppc64}, {sparc},
|
29
|
+
# {sparc64}, {mips} and {arm}).
|
31
30
|
#
|
32
31
|
class Arch
|
33
32
|
|
@@ -52,8 +51,8 @@ module Ronin
|
|
52
51
|
# The {#endian} and {#address_length} of the architecture.
|
53
52
|
#
|
54
53
|
# @example
|
55
|
-
# endian, address_length = Arch.
|
56
|
-
#
|
54
|
+
# endian, address_length = Arch.x86
|
55
|
+
#
|
57
56
|
# endian
|
58
57
|
# # => 'little'
|
59
58
|
# address_length
|
@@ -91,14 +90,36 @@ module Ronin
|
|
91
90
|
# @api private
|
92
91
|
#
|
93
92
|
def self.predefine(name,options={})
|
94
|
-
super(name,
|
93
|
+
super(name,{:name => name}.merge(options))
|
95
94
|
end
|
96
95
|
|
97
96
|
# The x86 Architecture
|
98
97
|
predefine :x86, :endian => :little, :address_length => 4
|
99
98
|
|
99
|
+
# Alias to {x86}.
|
100
|
+
predefine :i386, :name => 'x86',
|
101
|
+
:endian => :little,
|
102
|
+
:address_length => 4
|
103
|
+
|
104
|
+
# Alias to {x86}.
|
105
|
+
predefine :i486, :name => 'x86',
|
106
|
+
:endian => :little,
|
107
|
+
:address_length => 4
|
108
|
+
|
109
|
+
# Alias to {x86}.
|
110
|
+
predefine :i686, :name => 'x86',
|
111
|
+
:endian => :little,
|
112
|
+
:address_length => 4
|
113
|
+
|
114
|
+
# Alias to {x86}.
|
115
|
+
predefine :i986, :name => 'x86',
|
116
|
+
:endian => :little,
|
117
|
+
:address_length => 4
|
118
|
+
|
100
119
|
# The x86_64 Architecture
|
101
|
-
predefine :x86_64, :
|
120
|
+
predefine :x86_64, :name => 'x86-64',
|
121
|
+
:endian => :little,
|
122
|
+
:address_length => 8
|
102
123
|
|
103
124
|
# The ia64 Architecture
|
104
125
|
predefine :ia64, :endian => :little, :address_length => 8
|
@@ -121,41 +142,17 @@ module Ronin
|
|
121
142
|
# The MIPS (big-endian) Architecture
|
122
143
|
predefine :mips_be, :endian => :big, :address_length => 4
|
123
144
|
|
145
|
+
# Alias to {mips_be}.
|
146
|
+
predefine :mips, :name => 'mips_be', :endian => :big, :address_length => 4
|
147
|
+
|
124
148
|
# The ARM (little-endian) Architecture
|
125
149
|
predefine :arm_le, :endian => :little, :address_length => 4
|
126
150
|
|
127
151
|
# The ARM (big-endian) Architecture
|
128
152
|
predefine :arm_be, :endian => :big, :address_length => 4
|
129
153
|
|
130
|
-
#
|
131
|
-
|
132
|
-
#
|
133
|
-
def self.i386; x86; end
|
134
|
-
|
135
|
-
#
|
136
|
-
# @see x86
|
137
|
-
#
|
138
|
-
def self.i486; x86; end
|
139
|
-
|
140
|
-
#
|
141
|
-
# @see x86
|
142
|
-
#
|
143
|
-
def self.i686; x86; end
|
144
|
-
|
145
|
-
#
|
146
|
-
# @see x86
|
147
|
-
#
|
148
|
-
def self.i986; x86; end
|
149
|
-
|
150
|
-
#
|
151
|
-
# @see mips_be
|
152
|
-
#
|
153
|
-
def self.mips; mips_be; end
|
154
|
-
|
155
|
-
#
|
156
|
-
# @see arm_be
|
157
|
-
#
|
158
|
-
def self.arm; arm_be; end
|
154
|
+
# Alias to {arm_be}.
|
155
|
+
predefine :arm, :name => 'arn_be', :endian => :big, :address_length => 4
|
159
156
|
|
160
157
|
end
|
161
158
|
end
|
data/lib/ronin/repository.rb
CHANGED
@@ -30,6 +30,12 @@ require 'data_paths'
|
|
30
30
|
require 'yaml'
|
31
31
|
|
32
32
|
module Ronin
|
33
|
+
#
|
34
|
+
# Represents a container for user scripts and miscallaneous code,
|
35
|
+
# that can be distributed over common SCMs ([Git](http://git-scm.com/),
|
36
|
+
# [Mercurial (Hg)](http://mercurial.selenic.com/),
|
37
|
+
# [SubVersion (SVN)](http://subversion.tigris.org/), Rsync).
|
38
|
+
#
|
33
39
|
class Repository
|
34
40
|
|
35
41
|
include Model
|
data/lib/ronin/version.rb
CHANGED
data/spec/arch_spec.rb
CHANGED
@@ -58,6 +58,10 @@ describe Arch do
|
|
58
58
|
Arch.i386.should_not be_nil
|
59
59
|
end
|
60
60
|
|
61
|
+
it "should allow custom names for built-in archs" do
|
62
|
+
Arch.x86_64.name.should == 'x86-64'
|
63
|
+
end
|
64
|
+
|
61
65
|
it "should implicitly splat the endian and address length" do
|
62
66
|
endian, address_length = Arch.x86
|
63
67
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: ronin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: 6
|
5
|
-
version: 1.1.0.
|
5
|
+
version: 1.1.0.rc2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Postmodern
|
@@ -10,10 +10,10 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-20 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name: dm-
|
16
|
+
name: dm-sqlite-adapter
|
17
17
|
requirement: &id001 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
@@ -24,7 +24,7 @@ dependencies:
|
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: *id001
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
|
-
name: dm-
|
27
|
+
name: dm-core
|
28
28
|
requirement: &id002 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
@@ -35,7 +35,7 @@ dependencies:
|
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: *id002
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
-
name: dm-
|
38
|
+
name: dm-types
|
39
39
|
requirement: &id003 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
@@ -46,7 +46,7 @@ dependencies:
|
|
46
46
|
prerelease: false
|
47
47
|
version_requirements: *id003
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
|
-
name: dm-
|
49
|
+
name: dm-constraints
|
50
50
|
requirement: &id004 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
@@ -57,7 +57,7 @@ dependencies:
|
|
57
57
|
prerelease: false
|
58
58
|
version_requirements: *id004
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
|
-
name: dm-
|
60
|
+
name: dm-migrations
|
61
61
|
requirement: &id005 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
@@ -68,7 +68,7 @@ dependencies:
|
|
68
68
|
prerelease: false
|
69
69
|
version_requirements: *id005
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name: dm-
|
71
|
+
name: dm-validations
|
72
72
|
requirement: &id006 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
@@ -79,7 +79,7 @@ dependencies:
|
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: *id006
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
|
-
name: dm-
|
82
|
+
name: dm-serializer
|
83
83
|
requirement: &id007 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
@@ -90,7 +90,7 @@ dependencies:
|
|
90
90
|
prerelease: false
|
91
91
|
version_requirements: *id007
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
|
-
name: dm-
|
93
|
+
name: dm-aggregates
|
94
94
|
requirement: &id008 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
@@ -101,7 +101,7 @@ dependencies:
|
|
101
101
|
prerelease: false
|
102
102
|
version_requirements: *id008
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
|
-
name: dm-
|
104
|
+
name: dm-timestamps
|
105
105
|
requirement: &id009 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
@@ -111,20 +111,9 @@ dependencies:
|
|
111
111
|
type: :runtime
|
112
112
|
prerelease: false
|
113
113
|
version_requirements: *id009
|
114
|
-
- !ruby/object:Gem::Dependency
|
115
|
-
name: dm-timestamps
|
116
|
-
requirement: &id010 !ruby/object:Gem::Requirement
|
117
|
-
none: false
|
118
|
-
requirements:
|
119
|
-
- - ~>
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
version: 1.1.0
|
122
|
-
type: :runtime
|
123
|
-
prerelease: false
|
124
|
-
version_requirements: *id010
|
125
114
|
- !ruby/object:Gem::Dependency
|
126
115
|
name: dm-is-predefined
|
127
|
-
requirement: &
|
116
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
128
117
|
none: false
|
129
118
|
requirements:
|
130
119
|
- - ">="
|
@@ -135,10 +124,10 @@ dependencies:
|
|
135
124
|
version: "0.3"
|
136
125
|
type: :runtime
|
137
126
|
prerelease: false
|
138
|
-
version_requirements: *
|
127
|
+
version_requirements: *id010
|
139
128
|
- !ruby/object:Gem::Dependency
|
140
129
|
name: uri-query_params
|
141
|
-
requirement: &
|
130
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
142
131
|
none: false
|
143
132
|
requirements:
|
144
133
|
- - ">="
|
@@ -149,10 +138,10 @@ dependencies:
|
|
149
138
|
version: "0.5"
|
150
139
|
type: :runtime
|
151
140
|
prerelease: false
|
152
|
-
version_requirements: *
|
141
|
+
version_requirements: *id011
|
153
142
|
- !ruby/object:Gem::Dependency
|
154
143
|
name: open_namespace
|
155
|
-
requirement: &
|
144
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
156
145
|
none: false
|
157
146
|
requirements:
|
158
147
|
- - ~>
|
@@ -160,10 +149,10 @@ dependencies:
|
|
160
149
|
version: "0.3"
|
161
150
|
type: :runtime
|
162
151
|
prerelease: false
|
163
|
-
version_requirements: *
|
152
|
+
version_requirements: *id012
|
164
153
|
- !ruby/object:Gem::Dependency
|
165
154
|
name: parameters
|
166
|
-
requirement: &
|
155
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
167
156
|
none: false
|
168
157
|
requirements:
|
169
158
|
- - ">="
|
@@ -174,10 +163,10 @@ dependencies:
|
|
174
163
|
version: "0.2"
|
175
164
|
type: :runtime
|
176
165
|
prerelease: false
|
177
|
-
version_requirements: *
|
166
|
+
version_requirements: *id013
|
178
167
|
- !ruby/object:Gem::Dependency
|
179
168
|
name: data_paths
|
180
|
-
requirement: &
|
169
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
181
170
|
none: false
|
182
171
|
requirements:
|
183
172
|
- - ~>
|
@@ -185,10 +174,10 @@ dependencies:
|
|
185
174
|
version: 0.3.0.rc1
|
186
175
|
type: :runtime
|
187
176
|
prerelease: false
|
188
|
-
version_requirements: *
|
177
|
+
version_requirements: *id014
|
189
178
|
- !ruby/object:Gem::Dependency
|
190
179
|
name: object_loader
|
191
|
-
requirement: &
|
180
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
192
181
|
none: false
|
193
182
|
requirements:
|
194
183
|
- - ~>
|
@@ -196,10 +185,10 @@ dependencies:
|
|
196
185
|
version: "1.0"
|
197
186
|
type: :runtime
|
198
187
|
prerelease: false
|
199
|
-
version_requirements: *
|
188
|
+
version_requirements: *id015
|
200
189
|
- !ruby/object:Gem::Dependency
|
201
190
|
name: env
|
202
|
-
requirement: &
|
191
|
+
requirement: &id016 !ruby/object:Gem::Requirement
|
203
192
|
none: false
|
204
193
|
requirements:
|
205
194
|
- - ~>
|
@@ -207,10 +196,10 @@ dependencies:
|
|
207
196
|
version: "0.2"
|
208
197
|
type: :runtime
|
209
198
|
prerelease: false
|
210
|
-
version_requirements: *
|
199
|
+
version_requirements: *id016
|
211
200
|
- !ruby/object:Gem::Dependency
|
212
201
|
name: pullr
|
213
|
-
requirement: &
|
202
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
214
203
|
none: false
|
215
204
|
requirements:
|
216
205
|
- - ">="
|
@@ -221,10 +210,10 @@ dependencies:
|
|
221
210
|
version: "0.1"
|
222
211
|
type: :runtime
|
223
212
|
prerelease: false
|
224
|
-
version_requirements: *
|
213
|
+
version_requirements: *id017
|
225
214
|
- !ruby/object:Gem::Dependency
|
226
215
|
name: ripl
|
227
|
-
requirement: &
|
216
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
228
217
|
none: false
|
229
218
|
requirements:
|
230
219
|
- - ~>
|
@@ -232,10 +221,10 @@ dependencies:
|
|
232
221
|
version: "0.3"
|
233
222
|
type: :runtime
|
234
223
|
prerelease: false
|
235
|
-
version_requirements: *
|
224
|
+
version_requirements: *id018
|
236
225
|
- !ruby/object:Gem::Dependency
|
237
226
|
name: ripl-multi_line
|
238
|
-
requirement: &
|
227
|
+
requirement: &id019 !ruby/object:Gem::Requirement
|
239
228
|
none: false
|
240
229
|
requirements:
|
241
230
|
- - ~>
|
@@ -243,10 +232,10 @@ dependencies:
|
|
243
232
|
version: "0.2"
|
244
233
|
type: :runtime
|
245
234
|
prerelease: false
|
246
|
-
version_requirements: *
|
235
|
+
version_requirements: *id019
|
247
236
|
- !ruby/object:Gem::Dependency
|
248
237
|
name: ripl-auto_indent
|
249
|
-
requirement: &
|
238
|
+
requirement: &id020 !ruby/object:Gem::Requirement
|
250
239
|
none: false
|
251
240
|
requirements:
|
252
241
|
- - ~>
|
@@ -254,10 +243,10 @@ dependencies:
|
|
254
243
|
version: "0.1"
|
255
244
|
type: :runtime
|
256
245
|
prerelease: false
|
257
|
-
version_requirements: *
|
246
|
+
version_requirements: *id020
|
258
247
|
- !ruby/object:Gem::Dependency
|
259
248
|
name: ripl-short_errors
|
260
|
-
requirement: &
|
249
|
+
requirement: &id021 !ruby/object:Gem::Requirement
|
261
250
|
none: false
|
262
251
|
requirements:
|
263
252
|
- - ~>
|
@@ -265,10 +254,10 @@ dependencies:
|
|
265
254
|
version: "0.1"
|
266
255
|
type: :runtime
|
267
256
|
prerelease: false
|
268
|
-
version_requirements: *
|
257
|
+
version_requirements: *id021
|
269
258
|
- !ruby/object:Gem::Dependency
|
270
259
|
name: ripl-color_result
|
271
|
-
requirement: &
|
260
|
+
requirement: &id022 !ruby/object:Gem::Requirement
|
272
261
|
none: false
|
273
262
|
requirements:
|
274
263
|
- - ~>
|
@@ -276,10 +265,10 @@ dependencies:
|
|
276
265
|
version: "0.3"
|
277
266
|
type: :runtime
|
278
267
|
prerelease: false
|
279
|
-
version_requirements: *
|
268
|
+
version_requirements: *id022
|
280
269
|
- !ruby/object:Gem::Dependency
|
281
270
|
name: thor
|
282
|
-
requirement: &
|
271
|
+
requirement: &id023 !ruby/object:Gem::Requirement
|
283
272
|
none: false
|
284
273
|
requirements:
|
285
274
|
- - ~>
|
@@ -287,10 +276,10 @@ dependencies:
|
|
287
276
|
version: 0.14.3
|
288
277
|
type: :runtime
|
289
278
|
prerelease: false
|
290
|
-
version_requirements: *
|
279
|
+
version_requirements: *id023
|
291
280
|
- !ruby/object:Gem::Dependency
|
292
281
|
name: ronin-support
|
293
|
-
requirement: &
|
282
|
+
requirement: &id024 !ruby/object:Gem::Requirement
|
294
283
|
none: false
|
295
284
|
requirements:
|
296
285
|
- - ~>
|
@@ -298,10 +287,10 @@ dependencies:
|
|
298
287
|
version: 0.2.0.rc1
|
299
288
|
type: :runtime
|
300
289
|
prerelease: false
|
301
|
-
version_requirements: *
|
290
|
+
version_requirements: *id024
|
302
291
|
- !ruby/object:Gem::Dependency
|
303
292
|
name: bundler
|
304
|
-
requirement: &
|
293
|
+
requirement: &id025 !ruby/object:Gem::Requirement
|
305
294
|
none: false
|
306
295
|
requirements:
|
307
296
|
- - ~>
|
@@ -309,21 +298,21 @@ dependencies:
|
|
309
298
|
version: 1.0.10
|
310
299
|
type: :development
|
311
300
|
prerelease: false
|
312
|
-
version_requirements: *
|
301
|
+
version_requirements: *id025
|
313
302
|
- !ruby/object:Gem::Dependency
|
314
303
|
name: yard
|
315
|
-
requirement: &
|
304
|
+
requirement: &id026 !ruby/object:Gem::Requirement
|
316
305
|
none: false
|
317
306
|
requirements:
|
318
307
|
- - ~>
|
319
308
|
- !ruby/object:Gem::Version
|
320
|
-
version: 0.
|
309
|
+
version: 0.7.0
|
321
310
|
type: :development
|
322
311
|
prerelease: false
|
323
|
-
version_requirements: *
|
312
|
+
version_requirements: *id026
|
324
313
|
- !ruby/object:Gem::Dependency
|
325
314
|
name: yard-dm
|
326
|
-
requirement: &
|
315
|
+
requirement: &id027 !ruby/object:Gem::Requirement
|
327
316
|
none: false
|
328
317
|
requirements:
|
329
318
|
- - ~>
|
@@ -331,10 +320,10 @@ dependencies:
|
|
331
320
|
version: 0.1.1
|
332
321
|
type: :development
|
333
322
|
prerelease: false
|
334
|
-
version_requirements: *
|
323
|
+
version_requirements: *id027
|
335
324
|
- !ruby/object:Gem::Dependency
|
336
325
|
name: yard-dm-is-predefined
|
337
|
-
requirement: &
|
326
|
+
requirement: &id028 !ruby/object:Gem::Requirement
|
338
327
|
none: false
|
339
328
|
requirements:
|
340
329
|
- - ~>
|
@@ -342,7 +331,7 @@ dependencies:
|
|
342
331
|
version: 0.2.0
|
343
332
|
type: :development
|
344
333
|
prerelease: false
|
345
|
-
version_requirements: *
|
334
|
+
version_requirements: *id028
|
346
335
|
description: Ronin is a Ruby platform for exploit development and security research. Ronin allows for the rapid development and distribution of code, exploits or payloads over many common Source-Code-Management (SCM) systems.
|
347
336
|
email:
|
348
337
|
- postmodern.mod3@gmail.com
|