Class: TurboRex::Fuzzer::Mutators::CharlieMillerMutator

Inherits:
Object
  • Object
show all
Defined in:
lib/turborex/fuzzer/mutators.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(factor = 100) ⇒ CharlieMillerMutator

Returns a new instance of CharlieMillerMutator.



7
8
9
# File 'lib/turborex/fuzzer/mutators.rb', line 7

def initialize(factor=100)
  @factor = factor
end

Instance Attribute Details

#factorObject

Returns the value of attribute factor.



5
6
7
# File 'lib/turborex/fuzzer/mutators.rb', line 5

def factor
  @factor
end

Instance Method Details

#mutate(buf) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/turborex/fuzzer/mutators.rb', line 11

def mutate(buf)
  numwrites = rand(buf.bytesize.to_f / @factor)+1
  numwrites.to_i.times do |i|
    rbytes = rand(256)
    rn = rand(buf.bytesize)
    buf[rn] = rbytes.chr
  end

  buf
end