mirror of
https://github.com/rapid7/metasploit-framework
synced 2024-10-29 18:07:27 +01:00
Switch to Array#union and rename preserved_registers
This commit is contained in:
parent
71228b48a0
commit
b8a1010ba4
@ -84,15 +84,9 @@ class Metasploit3 < Msf::Encoder::XorAdditiveFeedback
|
||||
]
|
||||
end
|
||||
|
||||
# Always preserve these registers in our block generation
|
||||
def preserved_registers
|
||||
([
|
||||
# Never modify our stack pointer
|
||||
Rex::Arch::X86::ESP,
|
||||
# Never modify our counter register
|
||||
Rex::Arch::X86::ECX
|
||||
# Never modify user specified registers
|
||||
] + saved_registers).uniq
|
||||
# Always blacklist these registers in our block generation
|
||||
def block_generator_register_blacklist
|
||||
[Rex::Arch::X86::ESP, Rex::Arch::X86::ECX] | saved_registers
|
||||
end
|
||||
|
||||
protected
|
||||
@ -286,7 +280,7 @@ protected
|
||||
|
||||
begin
|
||||
# Generate a permutation saving the ECX, ESP, and user defined registers
|
||||
loop_inst.generate(preserved_registers, nil, state.badchars)
|
||||
loop_inst.generate(block_generator_register_blacklist, nil, state.badchars)
|
||||
rescue RuntimeError => e
|
||||
raise EncodingError
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user