sorry maybe I'm missing something, but where does the 12 come from for 1 char missing?
If he knows the password is 12 characters long, and he has it written down, then it could be any one of those twelve characters that is missing - therefore, 12 combinations. He is right there are only 11 combinations for 12 numbers. I've just typed 77 combinations in, 1 missing and 2 missing still no luck
|
|
|
This may be wrong, but for my situation where there is a 12 character random sequence password (that I have wrote down) where any 2 characters could be missing, there aren't as many outcomes as I thought there would be I'm getting 66 outcomes. Although long winded it may be worth me trying to enter those manually. I'm not sure what that number goes up to if there are 3 though.
It is possible that I've made an error in the math, but I'm pretty sure there are: 1 possibility if no characters are missing. 12 possibilities if 1 character is missing. 66 possibilities if 2 characters are missing. 220 possibilities if 3 characters are missing. Therefore, if you don't know if it's 0, 1, 2, or 3 characters that are missing, then there are a total of 299 possibilities to try? It's a long time since i was at school but that looks about right. I have just wrote out all 66 possibilities of my password with 2 characters missing, I'm sure it will be even more long winded typing them in, I made need to have a think before I write out all 220 pssibilities with 3 missing lol
|
|
|
This may be wrong, but for my situation where there is a 12 character random sequence password (that I have wrote down) where any 2 characters could be missing, there aren't as many outcomes as I thought there would be I'm getting 66 outcomes. Although long winded it may be worth me trying to enter those manually. I'm not sure what that number goes up to if there are 3 though.
|
|
|
Its wireless with a receiver on top of the PC. Sometimes if your not sat in the correct position or the receiver has moved you can type a sentence and it wont pick certain keys up for example I may have thought I entered my password as:
123456789
but what you have actually typed will be
1245679
There is a good chance that this would have happened twice as well, It also does it sometimes if the battery is running low.
I guess I'm just trying to narrow down what mistake I made when I entered the password, and therefore narrow down the search the scrypt needs to follow
|
|
|
No not yet but it has only been running for a couple of hours I will leave it running for as long as needs be.
Would that list of possible passwords be as high if it was only searching for those missing 3? i.e not searching for 1 extra character or adjacent characters etc all at the same time?
|
|
|
Would anyone happen to know what I would change in the scrypt below so that it would check for between 1 and up to 3 missing characters?
The reason I'm thinking this may be the problem is, I'm using a wireless keyboard and sometimes when typing if your sat in the wrong place the keystrokes aren't always picked up.
# delete one char passphrase.length.times do |i| testphrase = passphrase.dup testphrase = testphrase[0,i] + testphrase[(i+1)..-1] list << testphrase end
Thanks
|
|
|
No problem! Very excited to find out if this works, keep me updated!
Will do at the moment i am doing all this on an old media center pc... i3 dual core, just had a quick google and it seems high powered graphics carsd are the best If i moved this over to a pc with a 7990 in it would the 7990 card automatically do the cracking instead of the cpu Using resource monitor my 3570K i5 at 4.0Ghz is only using 20%-25% not sure if there is a way to increase this let me know if you find anything
|
|
|
No problem! Very excited to find out if this works, keep me updated!
Hi and thanks for all your work so far. I've just managed to get this up and running so will see how it goes. I feel I may have to mess with some of the parameters in the scrypt but will leave it running for a while you never know. Did the version you have running on your test wallet manage to find the password?
|
|
|
Since neither Feathercoin nor Protoshares seem to have their own daemon versions, or even accept an argument to make them run as daemons, I've been trying to use bitcoind.exe to crack them. Here's my method so far - somebody can correct me if there's an easier way: 1. Go to the folder where your bitcoin wallet is contained, and rename your wallet.dat file to something else (I used BITCOIN-wallet.dat - this is only temporary) 2. Copy in your wallet.dat file for the other currency (FTC/PTS), keeping its name as wallet.dat. 3. Create a new file called bitcoin.conf in the folder where your bitcoin wallet was contained (mine is C:\Users\<name>\AppData\Roaming\Bitcoin). Click here for a copy of my bitcoin.conf, which is the Bitcoin wiki's "example" of a bitcoin.conf file, with the relevant lines uncommented. (The RPC username in my version is "hello1"; the RPC password is "hello2".) 3. Open command prompt. Navigate to a folder containing bitcoind.exe and launch it with the following parameters: bitcoind -server -daemon -rpcuser=hello1 -rpcpassword=hello2 -rpcport=8332 4. Leave this command prompt window open, and open another command prompt window. Navigate to a folder containing bitcoind.exe (yes, again) and type If you get information, instead of an error, your bitcoind server is accessible via RPC. If you get an error, post what you did and I can try and fix it. 5. Leaving both command prompts open, open "Start Command Prompt with Ruby", navigate to the location of brute.rb, and type Let me know how this goes for you guys! I will try this in the morning and let you know how I get on. Thanks for your help so far
|
|
|
You first need to run your wallet in server mode from the CMD window
Once the wallet opens you type brute.rb and then it will try to open another version of your wallet.
If you keep closing the windows error pop up it will try another version of your password and the error window will pop up again, rinse and repeat
I gave up after about 2 hours was far to slow and I wasn't even sure it was trying the passwords
I'm thinking of going with the wallet recovery service see if they have any luck, only problem is they charge 20% of your wallet
|
|
|
Just sent an email regarding my Protoshares wallet hopefully you will be able to help
|
|
|
Hi, does anyone know if there is a protosharesd.exe file for windows anywhere for download?
|
|
|
The problem is that, as far as I can see, there isn't a bitcoind (daemon) equivalent for protoshares, so the GUI launches every time it's called. I'll keep doing more research for you.
Thanks much appreciated. I will sit here repeatedly closing it down hundreds of times and hopefully it may hit the password
|
|
|
Sorry my mistake it's page 2, Revalins 3rd post on that page. It starts out 'This is an updated version'
|
|
|
I seem to have managed to get it working kind of by putting one of Revalins scrypts in from page 3 think it was the second one he posted.
I changed bitcoind to protoshares-qt
The only problem I have now is I type the command in the CMD window which opens the protoshares-qt in server mode but when I type brute.rb it tries to open another instance of the protoshares-qt it is slowly going through possible passwords but I have to shut the protoshares-qt it is trying to open every time it tries a password.
Does this help?
|
|
|
So i open up the ruby software and paste in ? feathercoin-qt -server -rpcpassword=some-password -rpcport=8332 I just get syntax error Nope, not the Ruby software, the Windows command prompt or Linux terminal. I just get another error, not recognized as an internal or external command etc If you follow the path I'm following I imagine it will be much the same apart from the scrypt where you need to substitute protoshares for litecoin I would imagine
|
|
|
1) Go to http://rubyinstaller.org/downloads/ and download Ruby 2.0.0-p353. Once the file has downloaded, run the installer. Restart your computer. 2) COPY the code below and paste it into Notepad. Save the file as “brute.rb” (including the quotation marks – this is so Notepad doesn't automatically save it as a .txt.) Make sure the file is in the same folder as your protoshares-qt.exe file (this is for convenience later). The following code is modified very slightly from the original code written by Revalin, but since he doesn't charge for his services, I hope he doesn't mind me using his code for this tutorial. #!/usr/bin/ruby require 'base64' require 'digest/sha2' require 'open3' require 'openssl' # Put your best guess at your passphrase here passphrase = 'Oops I forgot' # The full path to your Protoshares wallet file wallet_file = '' # Where to find Protoshares-qt client. $protoshares = '' def test(phrase) $cipher.reset $cipher.key = Digest::SHA256.digest(Digest::SHA256.digest(phrase)) $cipher.update $seed $cipher.final puts phrase i,o,t = Open3.popen2e($protoshares, "-o", "getseed") i.puts(phrase) i.close if t.value.success? puts "Found it! #{phrase}" exit end rescue OpenSSL::Cipher::CipherError end def scramble(passphrase) characters = " !\"\#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" list = [] # transpose adjacent chars (passphrase.length - 1).times do |i| testphrase = passphrase.dup testphrase[i] = passphrase[i+1] testphrase[i+1] = passphrase[i] list << testphrase end # delete one char passphrase.length.times do |i| testphrase = passphrase.dup testphrase = testphrase[0,i] + testphrase[(i+1)..-1] list << testphrase end # substitutute one char passphrase.length.times do |i| characters.chars.each do |c| testphrase = passphrase.dup testphrase[i] = c list << testphrase end end # insert one char (passphrase.length + 1).times do |i| characters.chars.each do |c| testphrase = passphrase.dup testphrase.insert(i, c) list << testphrase end end return list.uniq end wallet = File.read(wallet_file) seed_base64 = wallet.match(/'seed': '([^']+)'/).captures.first $seed = Base64.decode64(seed_base64) $cipher = OpenSSL::Cipher.new('aes-256-cbc') $cipher.iv = $seed.slice!(0,16) Dir.chdir File.dirname $protoshares list1 = scramble(passphrase) list1.each { |i| test i } list1.each { |i| scramble(i).each { |j| test j }} puts "No luck." exit 1 4) EDIT brute.rb, filling in these values: 1. At the top; where the code says “oops I forgot”, edit this to be the password you believe should work for your wallet. 2. Inside the quotes after “$wallet_file =”, insert the full path to your wallet.dat file for protoshares-qt (e.g. C:\Protoshares\wallet.dat) 3. Inside the quotes after “$protoshares”, insert the full path to the protoshares-qt.exe file. (e.g. C:\Protoshares\protoshares-qt.exe) 5) Go to the start menu and choose “run...” 6) Type “cmd” and press enter 7) In the big black window that appears, type “cd”, followed by a space, and then the full path to the folder that proshares-qt.exe is in. E.g. “cd C:\Protoshares\”) Type the following, then press enter. protoshares-qt -server -rpcpassword=some-password -rpcport=3838 9) Finally, type brute.rb and wait. Hi thanks for your help so far couple of things I wanted to check. I edited the file at the start while it was still in txt format and then saved to "brute.rb" is this correct? I couldn't find a way to edit it once I'd saved it as "brute.rb" The part in the CMD window where you type rpcpassword=some-password what do I need to type in here? do I have to create a .conf file in the same file as the wallet.dat? On the last step, I've tried using windows CMD and the Ruby version at step 8 I press enter and the protoshares-qt opens when I then type brute.rb in the CMD window and press enter I get the following message C:\"filepath"\brute.rb:62:in '<main>' : undefined method 'captures' for nil:NILClass <NoMethodError>
|
|
|
Thanks I will give this a try and hopefully it will work
|
|
|
I can work on producing a guide with pictures over the next ~hour if you can confirm that would receive the bounty.
Hi, If it gains me access to my wallet the bounty is yours, thanks for the reply!
|
|
|
Will this work with feathercoin wallets? The scripts should work with most wallets derived from the original Bitcoin program. For feathercoin try starting it like this: feathercoin-qt -server -rpcpassword=some-password -rpcport=8332 Then the scripts should work. There are more instructions here to get you started: https://bitcointalk.org/index.php?topic=85495.msg3746636#msg3746636Hi Revalin (or anyone else reading) I wonder if it would be possible for you to write a step by step guide from a total noobs point of view on how to get this up and running on Windows 7 for an alternative coin? Like I said in my earlier post I'm attempting to get into my Protoshares Wallet, but even after reading this thread I'm really not sure where to start. I have the password which is a 12 letter random sequence lower case and numbers written down and I've obviously mistyped,missed or added an extra digit. I'm willing to donate 0.25 BTC to anyone that can guide me through this step by step and successfully help me gain access to my wallet.
|
|
|
|