Código
#!usr/bin/ruby #CrackHash 0.1 #Coded By Doddy H #Test with 202cb962ac59075b964b07152d234b70 = 123 require "digest/md5" def openwords(file) if File.file?(file) print "\n[+] Opening file\n\n" ar = File.open(file) lineas = ar.readlines ar.close print "[+] Number of words : ",lineas.length,"\n\n" return lineas else print "[-] Error opening file\n" end end def sintax() print "\n[+] ruby crack.rb <hash> <wordlist>\n" end def head() print "\n-- == CrackHash 0.1 == --\n\n" end def copyright() print "\n\n(C) Doddy Hackman 2012\n" exit(1) end hash = ARGV[0] wordlist = ARGV[1] head() if !hash and !wordlist sintax() else if hash.length ==32 words = openwords(wordlist) print "\n[+] Cracking hash...\n\n" words.each do |word| word = word.chomp if Digest::MD5.hexdigest(word) == hash print "\a\a\n[+] Hash cracked : ",word,"\n" copyright() end end print "\n[-] Hash not found\n\n" else print "\n[-] Hash invalid\n\n" copyright() end end copyright() # The End ?