Revalin
|
|
November 30, 2013, 08:44:09 AM |
|
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#msg3746636
|
War is God's way of teaching Americans geography. --Ambrose Bierce Bitcoin is the Devil's way of teaching geeks economics. --Revalin 165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
|
|
|
SP4RK7
|
|
November 30, 2013, 10:26:59 AM |
|
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.
|
|
|
|
KieranJones1
Member
Offline
Activity: 126
Merit: 10
|
|
November 30, 2013, 10:53:22 AM |
|
I can work on producing a guide with pictures over the next ~hour if you can confirm that would receive the bounty.
|
|
|
|
SP4RK7
|
|
November 30, 2013, 10:56:15 AM |
|
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!
|
|
|
|
KieranJones1
Member
Offline
Activity: 126
Merit: 10
|
|
November 30, 2013, 11:25:16 AM |
|
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\”) 8) Type the following, then press enter. protoshares-qt -server -rpcpassword=some-password -rpcport=3838 9) Finally, type brute.rb and wait.
|
|
|
|
SP4RK7
|
|
November 30, 2013, 11:27:35 AM |
|
Thanks I will give this a try and hopefully it will work
|
|
|
|
KieranJones1
Member
Offline
Activity: 126
Merit: 10
|
|
November 30, 2013, 11:35:24 AM |
|
By the way, if your command prompt isn't recognising "ruby" as a command, try going to your start menu, browsing to the folder for Ruby, and launching "Start Command Prompt with Ruby".
|
|
|
|
user0244
Newbie
Offline
Activity: 27
Merit: 0
|
|
November 30, 2013, 11:44:37 AM |
|
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#msg3746636But there isn't a daemon service with the feathercoin wallet. I can see one with a litecoin / bitcoin wallet So i open up the ruby software and paste in ? feathercoin-qt -server -rpcpassword=some-password -rpcport=8332 I just get syntax error
|
|
|
|
KieranJones1
Member
Offline
Activity: 126
Merit: 10
|
|
November 30, 2013, 11:51:06 AM |
|
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.
|
|
|
|
SP4RK7
|
|
November 30, 2013, 12:08:59 PM |
|
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>
|
|
|
|
user0244
Newbie
Offline
Activity: 27
Merit: 0
|
|
November 30, 2013, 12:32:01 PM |
|
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
|
|
|
|
SP4RK7
|
|
November 30, 2013, 12:34:27 PM |
|
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
|
|
|
|
KieranJones1
Member
Offline
Activity: 126
Merit: 10
|
|
November 30, 2013, 12:35:02 PM |
|
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 You need to navigate to the directory first. The folder you're currently in is shown before the cursor, i.e. C:\Users\John> _ If you type "cd bitcoins", your current directory would be set to "C:\Users\John\bitcoins". To go back up a directory, type "cd ..", i.e. to "C:\Users\". You need to set your current directory to the folder where feathercoin-qt.exe is located. If it helps, on my system that folder is C:\Program Files (x86)\Feathercoin. SP4RK7, I've tested it and I get a similar error. Currently trying to figure out what I've done wrong, will post in here soon.
|
|
|
|
guitarplinker
Legendary
Offline
Activity: 1694
Merit: 1024
|
|
November 30, 2013, 01:25:17 PM |
|
Will this work with feathercoin wallets? I know feathercoins are worth peanutes compared to bitcoin and litecoins But i have 2100 in my wallet and it's all i have! Of course if i can get them back again i can trade some of them for bitcoin, litecoin and donate
I have a good idea of my password, infact i cannot believe i have screwed up Must of mistyped something, been trying for 5 hours straight entering combinations of my passwords
I am using windows 7, downloaded the ruby program but really don't have a clue
Any help will be rewarded!, thanks
In the script he gave us, enter what you think your password is, and remove characters from the characters box. Here's the script as well: #!/usr/bin/ruby -w
passphrase = "oops" characters = " !\"\#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
def test(phrase) print phrase, "\t" system("./bitcoind", "walletpassphrase", phrase, "20") case $?.exitstatus when 0 puts "Found it! #{phrase}" exit 0 when 127 puts "bitcoind not found in current dir" exit 1 end end
# transpose adjacent chars (passphrase.length - 1).times do |i| testphrase = passphrase.dup testphrase[i] = passphrase[i+1] testphrase[i+1] = passphrase[i] test testphrase end
|
|
|
|
SP4RK7
|
|
November 30, 2013, 03:52:34 PM |
|
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?
|
|
|
|
KieranJones1
Member
Offline
Activity: 126
Merit: 10
|
|
November 30, 2013, 03:58:14 PM |
|
I can't find the script you mean. Could you repost it in [ code ] tags?
|
|
|
|
SP4RK7
|
|
November 30, 2013, 04:02:33 PM |
|
Sorry my mistake it's page 2, Revalins 3rd post on that page. It starts out 'This is an updated version'
|
|
|
|
KieranJones1
Member
Offline
Activity: 126
Merit: 10
|
|
November 30, 2013, 04:11:13 PM |
|
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.
|
|
|
|
SP4RK7
|
|
November 30, 2013, 04:13:25 PM |
|
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
|
|
|
|
KieranJones1
Member
Offline
Activity: 126
Merit: 10
|
|
November 30, 2013, 04:16:50 PM |
|
Haha - in all seriousness, though, Revalin predicted that script would take approximately 30 days of 10 combinations a second to crack it, so you may struggle if you have to manually do that!
|
|
|
|
|