Land #3024 - Allow encoder Compat options
commit
7ead04414c
|
@ -125,6 +125,17 @@ class EncodedPayload
|
|||
self.encoder = encmod.new
|
||||
self.encoded = nil
|
||||
|
||||
# If the encoding is requested by an exploit check compatibility
|
||||
# options first of all. For the 'generic/none' encoder compatibility
|
||||
# options don't apply.
|
||||
if (reqs['Exploit'] &&
|
||||
!reqs['Exploit'].compatible?(self.encoder) &&
|
||||
encname !~ /generic\/none/)
|
||||
wlog("#{pinst.refname}: Encoder #{encoder.refname} doesn't match the exploit Compat options",
|
||||
'core', LEV_1)
|
||||
next
|
||||
end
|
||||
|
||||
# If there is an encoder type restriction, check to see if this
|
||||
# encoder matches with what we're searching for.
|
||||
if ((reqs['EncoderType']) and
|
||||
|
|
|
@ -532,6 +532,7 @@ class Exploit < Msf::Module
|
|||
reqs['EncoderType'] = payload_encoder_type(explicit_target)
|
||||
reqs['EncoderOptions'] = payload_encoder_options(explicit_target)
|
||||
reqs['ExtendedOptions'] = payload_extended_options(explicit_target)
|
||||
reqs['Exploit'] = self
|
||||
|
||||
# Pass along the encoder don't fall through flag
|
||||
reqs['EncoderDontFallThrough'] = datastore['EncoderDontFallThrough']
|
||||
|
|
Loading…
Reference in New Issue