Guest User

#guessedYourBitcoin

a guest
Sep 29th, 2016
1,786
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.94 KB | None | 0 0
  1. #! python
  2. import sys
  3. from bitcoin import *
  4. from datetime import datetime
  5. from hashlib import sha256
  6.  
  7. addrCount = 0
  8.  
  9. def nextChar(currAddr,nextPos):
  10. global addrCount
  11. if nextPos < totalChars-1:
  12. for x in range(len(pkeychars[nextPos])):
  13. currAddr += pkeychars[nextPos][x]
  14. nextChar(currAddr, nextPos+1)
  15. currAddr = currAddr[:-1]
  16. else:
  17. for x in range(len(pkeychars[nextPos])):
  18. currAddr += pkeychars[nextPos][x]
  19. addrCount += 1
  20. result = b58decode(currAddr)
  21. result, check = result[:-4], result[-4:]
  22. digest = sha256(sha256(result).digest()).digest()
  23. if check == digest[:4]:
  24. print('We have a possible winner!: ',currAddr)
  25. f.write(currAddr+'\n')
  26. if addrCount%1000000 == 0:
  27. print(str(addrCount) + ' Addresses ' + str(datetime.now()))
  28.  
  29. currAddr = currAddr[:-1]
  30.  
  31. def b58decode(v):
  32. '''Decode a Base58 encoded string'''
  33.  
  34. if not isinstance(v, str):
  35. v = v.decode('ascii')
  36.  
  37. origlen = len(v)
  38. v = v.lstrip(b58_digits[0])
  39. newlen = len(v)
  40.  
  41. p, acc = 1, 0
  42. for c in v[::-1]:
  43. acc += p * b58_digits.index(c)
  44. p *= 58
  45.  
  46. result = []
  47. while acc > 0:
  48. acc, mod = divmod(acc, 256)
  49. result.append(mod)
  50.  
  51. return (bseq(result) + b'\0' * (origlen - newlen))[::-1]
  52.  
  53. if bytes == str: # python2
  54. iseq = lambda s: map(ord, s)
  55. bseq = lambda s: ''.join(map(chr, s))
  56. buffer = lambda s: s
  57. else: # python3
  58. iseq = lambda s: s
  59. bseq = bytes
  60. buffer = lambda s: s.buffer
  61.  
  62. pkeychars = []
  63.  
  64. pkeychar0 = ['5']
  65. pkeychar1 = ['J'] #UPPERCASE lightGreen #Jobs
  66. pkeychar2 = ['K','k'] #Kevlar
  67. pkeychar3 = ['P'] #UPPERCASE lightGreen #Pi
  68. pkeychar4 = ['a','A'] #Atari
  69. pkeychar5 = ['p'] #lowercase BLUE #Parachute
  70. pkeychar6 = ['j','J'] #Jet
  71. pkeychar7 = ['w','W'] #Wingtip??
  72. pkeychar8 = ['g','G'] #Gutenberg
  73. pkeychar9 = ['y'] #lowercase BLUE #yoyo
  74. pkeychar10 = ['E'] #UPPERCASE lightGreen # mc^2 = E
  75. pkeychar11 = ['i'] #lowercase BLUE #iron
  76. pkeychar12 = ['j','p','J','P'] #jigsaw puzzle
  77. pkeychar13 = ['3'] #UPPERCASE lightGreen #Morse code date
  78. pkeychar14 = ['s','S'] #scissors
  79. pkeychar15 = ['x'] #lowercase BLUE #xray
  80. pkeychar16 = ['Y'] #UPPERCASE lightGreen #Yale
  81. pkeychar17 = ['r','R'] #radar
  82. pkeychar18 = ['C','A'] #UPPERCASE lightGreen #concertina/aspirin?
  83. pkeychar19 = ['e','E'] #Eiffel Tower
  84. pkeychar20 = ['n','N'] #Nobel
  85. pkeychar21 = ['i','s'] #lowercase BLUE #ice skate
  86. pkeychar22 = ['x','X'] #XX
  87. pkeychar23 = ['y','Y'] #XY
  88. pkeychar24 = ['i'] #lowercase BLUE #igloo
  89. pkeychar25 = ['f','F','n','N'] #negatives? film?
  90. pkeychar26 = ['g','G'] #Galileo
  91. pkeychar27 = ['x','X'] #Xerox
  92. pkeychar28 = ['q','Q'] #Question
  93. pkeychar29 = ['k'] #lowercase BLUE #NaKamoto
  94. pkeychar30 = ['V','E'] #UPPERCASE lightGreen #E-cig - Vaporiser
  95. pkeychar31 = ['h','H'] #SatosHi
  96. pkeychar32 = ['g','p','G','P'] #Phonograph, Gramophone
  97. pkeychar33 = ['Z'] #UPPERCASE lightGreen #zipper
  98. pkeychar34 = ['x','X'] #alphabet X
  99. pkeychar35 = ['v','p'] #lowercase BLUE #Pfizer- Viagra?
  100. pkeychar36 = ['9'] #Euro - 1996
  101. pkeychar37 = ['b','B'] #Braile for B or 2
  102. pkeychar38 = ['W'] #UPPERCASE lightGreen #Wifi
  103. pkeychar39 = ['W','w'] #Windows
  104. pkeychar40 = ['k'] #lowercase BLUE #Krypton element
  105. pkeychar41 = ['n'] #lowercase BLUE #DNA
  106. pkeychar42 = ['B'] #UPPERCASE lightGreen #Balloon
  107. pkeychar43 = ['e','E'] #Einstein
  108. pkeychar44 = ['x'] #lowercase BLUE #2009 MMIX
  109. pkeychar45 = ['E','e'] #Etch a Sketch
  110. pkeychar46 = ['G','g'] #Gameboy
  111. pkeychar47 = ['x'] #lowercase BLUE #Xeon element
  112. pkeychar48 = ['6','2'] #1927 LED invention date or maybe 1962?
  113. pkeychar49 = ['t','T'] #Tesla
  114. pkeychar50 = ['M'] #UPPERCASE lightGreen #Mouse
  115.  
  116.  
  117. pkeychars = [pkeychar0, pkeychar1, pkeychar2, pkeychar3, pkeychar4, pkeychar5, pkeychar6, pkeychar7, pkeychar8, pkeychar9, pkeychar10, pkeychar11, pkeychar12, pkeychar13, pkeychar14, pkeychar15, pkeychar16, pkeychar17, pkeychar18, pkeychar19, pkeychar20, pkeychar21, pkeychar22, pkeychar23, pkeychar24, pkeychar25, pkeychar26, pkeychar27, pkeychar28, pkeychar29, pkeychar30, pkeychar31, pkeychar32, pkeychar33, pkeychar34, pkeychar35, pkeychar36, pkeychar37, pkeychar38, pkeychar39, pkeychar40, pkeychar41, pkeychar42, pkeychar43, pkeychar44, pkeychar45, pkeychar46, pkeychar47, pkeychar48, pkeychar49, pkeychar50]
  118.  
  119. b58_digits = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
  120.  
  121. totalChars = len(pkeychars)
  122. print('\n#Chars: ', totalChars)
  123.  
  124. totalKeys = 1
  125. for x in pkeychars:
  126. totalKeys *= len(x)
  127.  
  128. print("Checking [" + str(totalKeys) + "] Keys...")
  129.  
  130. nextPos = 0
  131.  
  132. addr = ''
  133.  
  134. f = open('goodKeys2.txt', 'w')
  135.  
  136. starttime = datetime.now()
  137. print('Start: ' + str(starttime))
  138. f.write('Start: ' + str(starttime) + '\n')
  139.  
  140. nextChar(addr, nextPos)
  141.  
  142. endtime = datetime.now()
  143. f.write('End: ' + str(endtime) + '\n')
  144. f.write('Total: ' + str(endtime - starttime) + '\n')
  145. f.close()
Advertisement
Add Comment
Please, Sign In to add comment