@@ -18,6 +18,7 @@ require 'msf/core/payload_generator'
18
18
19
19
20
20
class MsfVenomError < StandardError ; end
21
+ class HelpError < StandardError ; end
21
22
class UsageError < MsfVenomError ; end
22
23
class NoTemplateError < MsfVenomError ; end
23
24
class IncompatibleError < MsfVenomError ; end
@@ -95,7 +96,7 @@ def parse_args(args)
95
96
"\t " + ::Msf ::Util ::EXE . to_executable_fmt_formats . join ( ", " ) + "\n " +
96
97
"Transform formats\n " +
97
98
"\t " + ::Msf ::Simple ::Buffer . transform_formats . join ( ", " )
98
- raise UsageError , msg
99
+ raise HelpError , msg
99
100
end
100
101
101
102
opt . on ( '-e' , '--encoder <encoder>' , String , 'The encoder to use' ) do |e |
@@ -116,7 +117,7 @@ def parse_args(args)
116
117
Msf ::Module ::Platform . subclasses . each { |c | supported_platforms << "#{ c . realname . downcase } " }
117
118
msg = "Platforms\n " +
118
119
"\t " + supported_platforms * ", "
119
- raise UsageError , msg
120
+ raise HelpError , msg
120
121
end
121
122
122
123
opt . on ( '-s' , '--space <length>' , Integer , 'The maximum size of the resulting payload' ) do |s |
@@ -160,7 +161,7 @@ def parse_args(args)
160
161
end
161
162
162
163
opt . on_tail ( '-h' , '--help' , 'Show this message' ) do
163
- raise UsageError , "#{ opt } "
164
+ raise HelpError , "#{ opt } "
164
165
end
165
166
166
167
begin
280
281
281
282
begin
282
283
generator_opts = parse_args ( ARGV )
284
+ rescue HelpError => e
285
+ $stderr. puts e . message
286
+ exit ( 1 )
283
287
rescue MsfVenomError , Msf ::OptionValidateError => e
284
288
$stderr. puts "Error: #{ e . message } "
285
289
exit ( 1 )
0 commit comments