| 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. | #!/usr/bin/env python #This will crack any 4 digit number in 6 different encryptions. #http://www.darkc0de.com #d3hydr8[at]gmail[dot]com import sys, base64 try: import hashlib except(ImportError): print "\n[-] You need the hashlib module installed, upgrade to python 2.5\n" sys.exit(1) def show(first): if sys.argv[2] == "md5": if sys.argv[1] == hashlib.md5(''.join(first)).hexdigest(): print "\n\t[!] Cracked:",''.join(first),"\n" if sys.argv[2] == "sha1": if sys.argv[1] == hashlib.sha1(''.join(first)).hexdigest(): print "\n\t[!] Cracked:",''.join(first),"\n" if sys.argv[2] == "sha224": if sys.argv[1] == hashlib.sha224(''.join(first)).hexdigest(): print "\n\t[!] Cracked:",''.join(first),"\n" if sys.argv[2] == "sha256": if sys.argv[1] == hashlib.sha256(''.join(first)).hexdigest(): print "\n\t[!] Cracked:",''.join(first),"\n" if sys.argv[2] == "sha384": if sys.argv[1] == hashlib.sha384(''.join(first)).hexdigest(): print "\n\t[!] Cracked:",''.join(first),"\n" if sys.argv[2] == "sha512": if sys.argv[1] == hashlib.sha512(''.join(first)).hexdigest(): print "\n\t[!] Cracked:",''.join(first),"\n" def main(first, start, second=[]): if not start: return show(second) for i in range(len(first)): second.append(first.pop(i)) main(first, start-1, second) first.insert(i, second.pop()) if len(sys.argv) != 3: print "\nUsage: ./pincrack.py <string> <type>\n" print "\tTypes: md5, sha1, sha224, sha256, sha384, sha512\n" sys.exit(1) print "\n d3hydr8[at]gmail[dot]com PinCrack v1.0" print "--------------------------------------------" sys.argv[2] = sys.argv[2].lower() if sys.argv[2] == "md5": if len(sys.argv[1]) != 32: print "\n[-] Inproper length for md5 hash.\n" sys.exit(1) if sys.argv[2] == "sha1": if len(sys.argv[1]) != 40: print len(sys.argv[1]) print "\n[-] Inproper length for sha1 hash.\n" sys.exit(1) if sys.argv[2] == "sha224": if len(sys.argv[1]) != 56: print "\n[-] Inproper length for sha224 hash.\n" sys.exit(1) if sys.argv[2] == "sha256": if len(sys.argv[1]) != 64: print "\n[-] Inproper length for sha256 hash.\n" sys.exit(1) if sys.argv[2] == "sha384": if len(sys.argv[1]) != 96: print "\n[-] Inproper length for sha384 hash.\n" sys.exit(1) if sys.argv[2] == "sha512": if len(sys.argv[1]) != 128: print "\n[-] Inproper length for sha512 hash.\n" sys.exit(1) print "\n[+] String:",sys.argv[1] print "[+] Encryption:",sys.argv[2] main(list("0123456789"), 4) |