class TurboRex::Fuzzer::CoverageClient
Public Class Methods
new(mapping_name, buf_size=65536)
click to toggle source
# File lib/turborex/fuzzer/coverage.rb, line 4 def initialize(mapping_name, buf_size=65536) setting_mapping(mapping_name, buf_size) @virgin_bits = [0xFF] * buf_size @view_size = buf_size @bitmap_size = 0 end
Public Instance Methods
trace_bits()
click to toggle source
# File lib/turborex/fuzzer/coverage.rb, line 11 def trace_bits page = [0].pack('C')*@view_size return if TurboRex::Windows::Win32API.readprocessmemory(-1, @buf, page, @view_size, 0) == 0 page end
Private Instance Methods
setting_mapping(mapping_name, buf_size)
click to toggle source
ret
end
# File lib/turborex/fuzzer/coverage.rb, line 41 def setting_mapping(mapping_name, buf_size) @mapping_name = mapping_name @hmap = TurboRex::Windows::Win32API.openfilemappinga( TurboRex::Windows::Win32API::FILE_MAP_ALL_ACCESS, false, mapping_name ) raise "Error opening file mapping" unless @hmap @buf = TurboRex::Windows::Win32API.mapviewoffile( @hmap, TurboRex::Windows::Win32API::FILE_MAP_ALL_ACCESS, 0, 0, buf_size ) unless @buf TurboRex::Windows::Win32API.closehandle(@hmap) raise "Error mapping view of file" end end