Advertisement
opencard

multibrut

Oct 20th, 2019
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.19 KB | None | 0 0
  1. #! coding: utf-8
  2. import string, time
  3. import hashlib
  4. from multiprocessing import Process, cpu_count, current_process
  5.  
  6. hack = "test_multibrut"
  7. Hash = hashlib.new('md4', hack.encode('utf-16le')).hexdigest()
  8.  
  9. CharacterData  = string.digits + string.ascii_lowercase + string.ascii_uppercase + string.punctuation
  10. CharacterData += "абвгдеёжзийклмнопрстуфхцчшщъыьэюя" + "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
  11.  
  12. N_dict = {n:c for n,c in zip([n for n in range(len(CharacterData))], [c for c in CharacterData])}
  13. N_dict_r = {j:i for i, j in N_dict.items()}
  14.  
  15. def converter_in(Int, N = len(N_dict)):
  16.     if Int < N:
  17.         return N_dict[Int]
  18.     Int_ = ""
  19.     while True:
  20.         a, b = divmod(Int, N)
  21.         if a < b:
  22.             Int_ += N_dict[b]
  23.             break
  24.         else:
  25.             Int_ += N_dict[b]
  26.             Int = a
  27.     if N_dict[a] == "0":
  28.         return Int_[::-1]
  29.     else:
  30.         return N_dict[a] + Int_[::-1]
  31.  
  32. def converter_out(iNT):
  33.     return sum([n * (len(N_dict) ** m) for n, m in zip([N_dict_r[j] for j in iNT[::-1]], [i for i in range(len(iNT))])])
  34.  
  35. def md5_h(i, delta):
  36.     while True:
  37.         if hashlib.new('md4', converter_in(i).encode('utf-16le')).hexdigest() == Hash:
  38.             print("[%s]\t%s\t%s\t%s sec\tGG" % (current_process().name, converter_in(i), (len(CharacterData) ** len(converter_in(i)) - i), round(time.time() - time0, 1)))
  39.             break
  40.         else:
  41.             if (i % 1000000 == 0) and (i != 0):
  42.                 print("[%s]\t%s\t%s\t%s sec" % (current_process().name, converter_in(i), (len(CharacterData) ** len(converter_in(i)) - i), round(time.time() - time0, 1)))
  43.             i += delta
  44.  
  45. time0 = time.time()
  46. CPU = cpu_count()
  47. i_col = [i for i in range(0, CPU)]
  48. procs = []
  49.  
  50. if __name__ == '__main__':
  51.     for i in i_col:
  52.         proc = Process(target = md5_h, args=(i, CPU))
  53.         procs.append(proc)
  54.         proc.start()
  55.     print(hack, Hash)
  56.     while True:
  57.         if 0 in [proc.exitcode for proc in procs]:
  58.             for proc in procs:
  59.                 proc.terminate()
  60.             break
  61.         time.sleep(1)
  62.     input("\nPress ENTER for EXIT")
  63.     raise SystemExit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement