Skip to content

Commit c3479ba

Browse files
author
HD Moore
committed
Update msfvenom & PayloadGenerator to pass in available_space
1 parent 7a354f3 commit c3479ba

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

lib/msf/base/simple/payload.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,13 @@ def self.generate_simple(payload, opts, &block)
5151

5252
# Generate the payload
5353
e = EncodedPayload.create(payload,
54-
'BadChars' => opts['BadChars'],
55-
'MinNops' => opts['NopSledSize'],
56-
'Encoder' => opts['Encoder'],
54+
'BadChars' => opts['BadChars'],
55+
'MinNops' => opts['NopSledSize'],
56+
'Encoder' => opts['Encoder'],
5757
'Iterations' => opts['Iterations'],
5858
'ForceEncode' => opts['ForceEncode'],
59-
'Space' => opts['MaxSize'])
59+
'DisableNops' => opts['DisableNops'],
60+
'Space' => opts['MaxSize'])
6061

6162
fmt = opts['Format'] || 'raw'
6263

lib/msf/core/payload_generator.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ def encode_payload(shellcode)
184184
encoder_list.each do |encoder_mod|
185185
cli_print "Attempting to encode payload with #{iterations} iterations of #{encoder_mod.refname}"
186186
begin
187+
encoder_mod.available_space = @space
187188
return run_encoder(encoder_mod, shellcode.dup)
188189
rescue ::Msf::EncoderSpaceViolation => e
189190
cli_print "#{encoder_mod.refname} failed with #{e.message}"
@@ -298,9 +299,11 @@ def generate_raw_payload
298299
end
299300

300301
payload_module.generate_simple(
301-
'Format' => 'raw',
302-
'Options' => datastore,
303-
'Encoder' => nil
302+
'Format' => 'raw',
303+
'Options' => datastore,
304+
'Encoder' => nil,
305+
'MaxSize' => @space,
306+
'DisableNops' => true
304307
)
305308
end
306309
end

0 commit comments

Comments
 (0)