metasploit-framework/lib/msf/core/nop.rb

64 lines
1.2 KiB
Ruby

require 'msf/core'
module Msf
###
#
# This class acts as the base class for all nop generators.
#
###
class Nop < Msf::Module
#
# Returns MODULE_NOP to indicate that this is a NOP module.
#
def self.type
return MODULE_NOP
end
#
# Returns MODULE_NOP to indicate that this is a NOP module.
#
def type
return MODULE_NOP
end
#
# Initializes the NOP generator, defaulting it to being usable on all
# platforms.
#
def initialize(info = {})
super({
'Platform' => '' # All platforms by default
}.update(info))
end
#
# Stub method for generating a sled with the provided arguments. Derived
# Nop implementations must supply a length and can supply one or more of
# the following options:
#
# - Random (true/false)
# Indicates that the caller desires random NOPs (if supported).
# - SaveRegisters (array)
# The list of registers that should not be clobbered by the NOP
# generator.
# - BadChars (string)
# The list of characters that should be avoided by the NOP
# generator.
#
def generate_sled(length, opts)
return nil
end
#
# Default repetition threshold when finding nop characters.
#
def nop_repeat_threshold
return 10000
end
end
end