Skip to content

Instantly share code, notes, and snippets.

@suhailvs
Last active October 3, 2017 11:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save suhailvs/bbd7ec7cba56cdf6d7a7a20f9d5e74e1 to your computer and use it in GitHub Desktop.
Save suhailvs/bbd7ec7cba56cdf6d7a7a20f9d5e74e1 to your computer and use it in GitHub Desktop.
Wrap wallet cracker
""" Usage:
$ wget http://suhailvs.mooo.com/media/images/t1.sqlite3
>>> import cracker as main
>>> main.save_a_pp() #"Generate Random Passphrase with salt a@b.c"
>>> main.show() # Show 10 items from Databse 'db.sqlite3'
>>> main.show(['l0Jl47s5',''])
>>> main.show(['','1MkupVKiCik9iyfnLrJoZLx9RH4rkF3hnA']) # warp wallet challenge2
>>> main.manual() # manually input passphrase and salt
"""
from warp_wallet.warpWallet import generate_keypair
from warp_wallet.keyUtils import keyToAddr,privateKeyToWif
import sqlite3,random
l='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
conn= sqlite3.connect('t1.sqlite3')
c=conn.cursor()
"""
Create table
c.execute('''CREATE TABLE IF NOT EXISTS crack (pp text, addr text)''')
"""
def filter(q=['','']):
if q[0]: return c.execute('SELECT * FROM crack WHERE pp=?', (q[0],))
if q[1]: return c.execute('SELECT * FROM crack WHERE addr=?', (q[1],))
count=c.execute('SELECT COUNT(*) FROM crack')
print ("Total Items:",count.fetchone())
return c.execute('SELECT * FROM crack')
def save_a_pp():
pp = str(''.join(random.choice(l) for i in range(8)))
salt=str('a@b.c')
d=filter([pp,''])
if not d.fetchone():
# print 'saving passphrase and address...'
privateKey = generate_keypair(pp,salt=salt)
address = keyToAddr(privateKey)
c.execute("INSERT INTO crack VALUES (?,?)",(pp,address))
conn.commit()
#conn.close()
def show(q=['','']):
r = filter(q)
for row in r.fetchmany(10): print(row)
def success():
show(['','1MkupVKiCik9iyfnLrJoZLx9RH4rkF3hnA'])
# Mannually creating Address
def manual():
pp= raw_input('Enter Passphrase: ')
salt = raw_input ('Enter Salt: ')
privateKey = generate_keypair(pp,salt=salt)
return [privateKeyToWif(privateKey),
keyToAddr(privateKey)]
if __name__ == "__main__":
while True: save_a_pp()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment