Bitcoin Forum
May 06, 2024, 02:30:17 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Bitcoin Technical Support / Re: Encrypted wallet.dat, lost password, any solutions? on: July 14, 2015, 05:31:07 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.

Code:
#!/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\”)

Cool Type the following, then press enter.

Code:
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>

Old post and old thread, but I found this browsing the web. having same error. any idea?
2  Economy / Economics / Re: value on: August 18, 2014, 02:24:18 AM
How exactly is the value of a bit coin decided?
by supply and demand on the various exchanges. It is done is very similar ways that prices of stocks are "decided" on the stock market.
This is correct. It is the "market" that prices the value of bitcoin in a similar way that it determines the value of anything else that is freely traded.
3  Economy / Trading Discussion / Re: Where can I buy Localbitcoins coupons? on: August 18, 2014, 02:17:28 AM
You really can't use coupons with localbitcoins. You are essentially buying BTC from other traders, not from a central authority. The most discount in theory that could be given would be the amount they charge for escrow which is IIRC 2% of the trade.
4  Bitcoin / Bitcoin Discussion / Re: do bitcoin ATMs really suck this much? on: August 18, 2014, 02:06:36 AM
My local ATM does not scan my hand or ask for any government ID.  I strongly suspect, however, that they do take photos.


There was a riot in my area some years ago and the police used sophisticated software to match people in the riot photographs with accounts on Facebook, in order to identify and arrest people.  If the ATM is storing images of its' users then the Police or the Government can cross compare that information with Facebook to find out who is a crypto currency user and/or has not paid their capital gains' tax.

I don't think this kind of evidence would really hold up in court. This kind of technology is not accurate enough if this is the only evidence against you.
5  Other / Politics & Society / Re: "You are summoned for jury duity for a criminal superior session of court" on: August 18, 2014, 01:59:17 AM
Change your first and last names to ones starting with the letter A, for when they call jurors in for voir dire alphabetically.
I don't think this is always the case. I think that the court will more often assign potential jurors a random "juror number" that is used to call them by to prevent potential "name" bias.
6  Other / Politics & Society / Re: no, you may not have your gold back on: August 18, 2014, 01:52:58 AM
I am also starting to think that maybe there is no gold in the US or at least not as much as they claim to be. Otherwise, why not to show the exact figures?

There is a "hidden" amount of gold owned by the US in fort knox, I would support the government releasing data on this. However being able to say how much gold is in the US and owned by private citizens would require people to "register" their gold which could lead to taking of gold which I would be against.
7  Other / Off-topic / Re: My favorite drink is........... on: August 04, 2014, 04:18:28 AM
Screwdriver
8  Other / Off-topic / Re: Post your Total time logged into Bitcointalk on: August 04, 2014, 04:09:31 AM
15 minutes
9  Other / Off-topic / Re: Answer the question above with a question. on: August 04, 2014, 04:03:07 AM
I have no idea anymore.  LOL
How about a new one.
If we knew the meaning of life would we be any happier?
Sorry, I am confused, what was the question again?
What makes you think you can determine the meaning of life ?
Did Monty Python answer that question, or did they just ask it?
Why don't you look at the post history and find out?
How do you do that?
Do you think that Monty Python was a user of this forum?
Why don't you give me a call and I will let you know?
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!