Module: Uirusu::Scanner

Defined in:
lib/uirusu/scanner.rb

Class Method Summary collapse

Class Method Details

.process_file(file) ⇒ Object

Processes a file, hashing it with MD5



47
48
49
50
51
52
53
54
55
# File 'lib/uirusu/scanner.rb', line 47

def Scanner.process_file file
  begin
    digest = Digest::MD5.hexdigest(File.read(file))
    @hash_list << digest

  rescue Exception
    puts "[!] Cannot read #{file}"
  end
end

.recurse(file_name) ⇒ Object

Recursively lists all files in a directory calling process_file on each file



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/uirusu/scanner.rb', line 32

def Scanner.recurse file_name
  Dir.new("#{file_name}").each do |file|
    next if file.match(/^\.+/)
    path = "#{file_name}/#{file}"

    if  FileTest.directory?("#{path}")
      recurse("#{path}")
    else
      process_file(path)
    end
  end
end

.scan(directory) ⇒ Array

Enumerates a directory recursively then returns the hash list

Returns:

  • (Array)

    Hash List



60
61
62
63
64
# File 'lib/uirusu/scanner.rb', line 60

def Scanner.scan directory
  recurse(directory)

  return @hash_list
end