![]() |
best way to brute force bitcoin secret keys?
best way to brute force bitcoin secret keys?
I was thinking of using python to call bitcoind to create the secret key and public address. Then pass the public address to bitref.com and evaluate the response. Is there a better way to do this? I have seen the brainwallet hacks. But I want to try something different. |
what operating system you?
|
Quote:
|
python is a easy way to start with process-based parallelism. Think a weekend is enough for most people to understand it. if they have basic math and logic skills.
|
Quote:
I do not expect to find a private key. This is just something I want to see if I can get to run. If I were to create a bitcoin collision with my laptop, Bitcoin would already be fucked. I do remember an app that was generating the same private key for users. This was due to the app using random.org to find part of the private key. Random.org went to ssl and the app was using a not so random number to generate private keys. |
Great, Looks like I don't need to run a bitcoin core node to find my keys.
I can just create a random key with my own processing starting at zero, Then use a script I found to get the key pairs. Hard part will be to see if there is any balance on the account. I will have to look more into doing this. And I don't want to keep hitting the same webpage to check every few seconds. |
open a terminal;
type $ man openssl |
I am going to need to download the entire blockchain. I will order a new external hard-drive. Keep the block-chain updated and search that. Only look to see if I can find the public key.
If I do, Kick out the secret and public key to an output file. I am sure somebody else has done this. But so much fun. |
Reformat that drive ext4 from DOS you will need it it be executable 755, chmod +x [file]
|
Quote:
|
Quote:
|
|
Leave bitcoin alone !!
|
Quote:
Nevermind. Found it. |
Quote:
|
Interesting things I noticed running bitcoin.sh
Checking the public key for bitcoin addresses integers 69 and 420. Someone used both those number and the wallets were cleared out fairly quick. People waiting to swipe those number fast. https://bitref.com/1DerC5SzMPgBN4o6yaxcRZ7TMBCDus6nLT secret exponent: 0x420 public key: X: EE5C17B274C78B879EDA9341256B15062558283560A0BDCCC8 EBA32032D58638 Y: 282FD0B547EDEA4E87BC1C395449C8AA381FA2DF939E5B0944 F72E4EDA9BF241 compressed: WIF: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFUG7EQDf1 cs bitcoin address: 1138gbpCaTXHe96Ty5cCbVX5uFeBy2Vu7H uncompressed: WIF: 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsrgDkaiQo S bitcoin address: 1LSJhL8iiLBJ4L2if8btoQz2iDFhAR89Xa router@router-start:~/Desktop/stuff/btcstuff/bitcoin-bash-tools$ newBitcoinKey 0x69 --- secret exponent: 0x69 public key: X: F219EA5D6B54701C1C14DE5B557EB42A8D13F3ABBCD08AFFCC 2A5E6B049B8D63 Y: 4CB95957E83D40B0F73AF4544CCCF6B1F4B08D3C07B27FB8D8 C2962A400766D1 compressed: WIF: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU7wfED72 cU bitcoin address: 1LpPxoDsckedWhBHppsbJciGSFH55oSUb2 uncompressed: WIF: 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreNXqEJT k bitcoin address: 1DerC5SzMPgBN4o6yaxcRZ7TMBCDus6nLT |
You're gonna need a hammer.
|
Here is my code. I ran it a few times just for kicks. It looks like the API hits blockchain.info. So I put 7 second delay between checks. It generates a secret key and public key. Then it checks if the public key has any transactions. If it does, it stops. Uses inputfile.txt as a starting point. Loops through 200 times add 1 to integer exponent each time.
If you set the inputfile.txt to 100, the program will find keys that have been used. Most code was stolen, just added to it. Code:
# Joric/bitcoin-dev, june 2012, public domain |
Would be cool if I could write a script that does a check everytime somebody visits a website. Can't be javascript, because you can't store the keys you searched and you can't record when a key is found with transactions. Would have to be a server side language.
|
Any ideas are welcome.
|
Quote:
Download the blockchain and figure out RPC so you can query your own client at the full rate. Doesn't even need to be local - you can run bitcoind on a server... |
Actually now I think more, I don't think running your own bitcoin client will work with your script, because it only indexes transactions that are related to the keys in your wallet.dat file. There's no RPC API call to say "return all transaction info for address X" - this would require a massive index...
I guess you could generate a bunch of private keys, import them into the client, and rescan the blockchain (-rescan option on client will start from block #0 and look for any transactions associated with local keys) to see if it picks up any extra transactions. |
Quote:
As for your first post there, I am looking for the public based off an integer. There is what is called a brainwallet hack. It was a key based off a pass phrase. Brainwallet.org changed their site so you have to enter a salt and username and password to mix thing up a bit more. People had been sitting on the private keys with pass phrases like "may the force be with your". As soon as people sent money to the public key, the money was gone. As you can see, I found this account with a low integer exponent. I sent bitcoin to the account and it was transferred off immediately. router@router-start:~/Desktop/python/bitcoingen$ python usethis.py Y or N - Ready? y starting point 00000000000000000000000000000000000000000000000000 00000000000104 00000000000000000000000000000000000000000000000000 00000000000105 00000000000000000000000000000000000000000000000000 00000000000106 00000000000000000000000000000000000000000000000000 00000000000107 00000000000000000000000000000000000000000000000000 00000000000108 00000000000000000000000000000000000000000000000000 00000000000109 00000000000000000000000000000000000000000000000000 00000000000110 00000000000000000000000000000000000000000000000000 00000000000111 we found one 1LDMZk7BE99i8PtUQrnE1jKgwyKipBX4yk 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsrehRFjJL e https://bitref.com/1LDMZk7BE99i8PtUQrnE1jKgwyKipBX4yk |
I wish i knew how to do this
|
I don't really know what I am doing. I really screwed up on this. The input is in hex. So I had to change things around. The input exponent is actually 77 bytes long after conversion from hex.
So my input file looks like this. D7F2096FE3F3B6902ABC2AFC3BAB9AE3CE8D9303525F050568 9A1507CCA15CE7 Here is the ouput after I run it now. router@router-start:~/Desktop/python/bitcoingen$ python usethis.py Y or N - Ready? y starting point 97674904567355991655113266145083667907747545640392 289442288010322941462011111 d7f2096fe3f3b6902abc2afc3bab9ae3ce8d9303525f050568 9a1507cca15ce7 97674904567355991655113266145083667907747545640392 289442288010322941462011112 d7f2096fe3f3b6902abc2afc3bab9ae3ce8d9303525f050568 9a1507cca15ce8 97674904567355991655113266145083667907747545640392 289442288010322941462011113 d7f2096fe3f3b6902abc2afc3bab9ae3ce8d9303525f050568 9a1507cca15ce9 97674904567355991655113266145083667907747545640392 289442288010322941462011114 d7f2096fe3f3b6902abc2afc3bab9ae3ce8d9303525f050568 9a1507cca15cea we found one! 188CwnKs664tu4eKyohvektz6PbsCFPkFK 5KTPcpSHpmDAtYyjYX5VVWwkqRigQtxWf4o5pFYGd9wEGG5K2T q I sent like .50 cents to that bitcoin address for testing. Go ahead and steal it if you know how. |
Quote:
If anybody wants the new source, that actually works. Let me know. Of course, Finding that 77 byte integer, Is never gonna happen with my script. |
All times are GMT -7. The time now is 01:18 AM. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
©2000-, AI Media Network Inc