Pages:
Author

Topic: Encrypted wallet.dat, lost password, any solutions? - page 19. (Read 213559 times)

newbie
Activity: 27
Merit: 0
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://bitcointalksearch.org/topic/m.3746636

But 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
member
Activity: 126
Merit: 10
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". Smiley
sr. member
Activity: 294
Merit: 250
Thanks I will give this a try and hopefully it will work Smiley
member
Activity: 126
Merit: 10
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\”)

8) Type the following, then press enter.

Code:
protoshares-qt -server -rpcpassword=some-password -rpcport=3838

9) Finally, type brute.rb and wait.
sr. member
Activity: 294
Merit: 250
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!
member
Activity: 126
Merit: 10
I can work on producing a guide with pictures over the next ~hour if you can confirm that would receive the bounty.
sr. member
Activity: 294
Merit: 250
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://bitcointalksearch.org/topic/m.3746636

Hi 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.
hero member
Activity: 728
Merit: 500
165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
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://bitcointalksearch.org/topic/m.3746636
newbie
Activity: 27
Merit: 0
I did a google search and saw walletrecoveryservices.com
So sent the wallet off as i do not have clue how to do it
Will let you know how i get on!
newbie
Activity: 27
Merit: 0
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
newbie
Activity: 15
Merit: 0
Hi there!
Is good to be able to REPLY!!!  Grin Grin Grin Grin

Right, I'm using the script http://pastebin.com/arvxGgKA

But it's says :

========================================

Exception             : System.Net.WebException: Impossível conectar-se ao servidor remoto --->
                        System.Net.Sockets.SocketException: Nenhuma conexão pôde ser feita porque a máquina de destino
                        as recusou ativamente 127.0.0.1:8332
                           em System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress
                        socketAddress)
                           em System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket
                        s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult,
                        Exception& exception)
                           --- Fim do rastreamento de pilha de exceções internas ---
                           em System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data,
                        WebRequest& request)
                           em System.Net.WebClient.UploadString(Uri address, String method, String data)
                           em CallSite.Target(Closure , CallSite , Object , String , Object )
TargetObject          :
CategoryInfo          : NotSpecified: (Smiley [], WebException
FullyQualifiedErrorId : WebException
ErrorDetails          :
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : em , C:\Users\MICHEL.W8ponto1casa\Desktop\btc-ltc_$-fixed_recovery_script..ps1:
                        linha 154
                        em , C:\Users\MICHEL.W8ponto1casa\Desktop\btc-ltc_$-fixed_recovery_script..ps1:
                        linha 142
                        em , : linha 1
PipelineIterationInfo : {}
PSMessageDetails      :

'somepasswordhere'
=============================================end========================================

Is something that I'm doing wrong?


I just put some words, numbers and "play".

Play 3 different, with more or few words.
It's took a day, and two just closed and shows nothing.

When It find something, what happen? write some TXT with the password?
How I have sure if is connected with my BTCQT???

I'm using Windows 8.1 , Nothing installed (like "ruby" thing)

I just forgot to write my pass, I thought that I wrote but..
And I do not have sure the word, I put ALL WORDS that used in my time life!

THANK YOU VERY MUCH! FELLAS!
legendary
Activity: 1694
Merit: 1024
Revalin, I owe it to you man. I recovered my 18 LTC, currently worth about $820.

Please give me your bitcoin wallet address so I can tip you for your script and your help. The one below your name doesn't seem to show up on Blockchain.

Congrats and thanks.  Smiley  165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g


There doesn't seem to be a protosharesd.exe in my program files like there are with the other coins, just the main folder with protoshares-qt and the folder in the %appdata% containing the wallet.dat

Try this:  protoshares-qt -server -rpcpassword=some-password -rpcport=8332

If it's similar to Bitcoin, that should start it with both the GUI and the RPC interface.
Payment sent!
hero member
Activity: 728
Merit: 500
165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
Revalin, I owe it to you man. I recovered my 18 LTC, currently worth about $820.

Please give me your bitcoin wallet address so I can tip you for your script and your help. The one below your name doesn't seem to show up on Blockchain.

Congrats and thanks.  Smiley  165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g


There doesn't seem to be a protosharesd.exe in my program files like there are with the other coins, just the main folder with protoshares-qt and the folder in the %appdata% containing the wallet.dat

Try this:  protoshares-qt -server -rpcpassword=some-password -rpcport=8332

If it's similar to Bitcoin, that should start it with both the GUI and the RPC interface.
sr. member
Activity: 294
Merit: 250
Hi, I was just wondering does anyone know of a work around for the Protoshares wallet?

There doesn't seem to be a protosharesd.exe in my program files like there are with the other coins, just the main folder with protoshares-qt and the folder in the %appdata% containing the wallet.dat

I have the password written down so not sure how I have managed to mess it up, any help much appreciated thanks
newbie
Activity: 5
Merit: 0
Okay, so I've edited the script above to look like this:
Code:
#!/usr/bin/ruby
require "net/http"
require "json"

$rpc_pass = "some-password"
words = ['pass1', 'pass2', 'pass3', 'pass4', 'pass5', 'pass6', 'pass7']
max_words = 7

def test(passphrase)
  puts passphrase.inspect
  request = Net::HTTP::Post.new("/")
  request.basic_auth "", $rpc_pass
  request.body = { method:"walletpassphrase", params:['11'+passphrase+'1111111', 1] }.to_json
  response = Net::HTTP.new("localhost", 9332).request(request)
  if response.code == "401" ; puts "Incorrect RPC user/pass" ; exit 1 ; end
  ret = JSON.parse response.body
  if ret["error"].nil? ; puts "\nFound it! #{passphrase.inspect}" ; exit ; end
  return if ret["error"]["code"] == -14 # wrong passphrase
  raise "WTF? #{ret.inspect}"
end

(1..max_words).each do |n_words|
  words.permutation(n_words).each do |perm|
    [""].repeated_permutation(perm.count + 2).each do |j|
      test(["", *perm, ""].zip(j).join)
    end
  end
end

puts "No luck."

The start and end of the passphrase are placeholder to what they really would be although they are the same length. There are also 7 different possibilities of passwords but of course, the ones seen above are placeholders. For anyone needing a bruteforcer for similar to my predicament, this is what I'm currently using. Thanks Revalin for being just an awesome person. Once I get into the wallet, I'm definitely throwing some LTC your way.  

  Edit: Looks like it found it while I was typing this message! Thanks again for all the help!  The donation will eventually happen xD . So much craziness going on in BTC-E
legendary
Activity: 1694
Merit: 1024
Revalin, I owe it to you man. I recovered my 18 LTC, currently worth about $820.

Please give me your bitcoin wallet address so I can tip you for your script and your help. The one below your name doesn't seem to show up on Blockchain.
newbie
Activity: 5
Merit: 0
I've got a Litecoin wallet that I've encrypted and I seemed to have mistyped in the password. I've got a list of passwords that I use and it could be any permutation of these passwords put together or on their own.  I've read through the thread and saw the Powershell script but I'm running Linux and I'm too sure about getting Powershell.  I'm willing to give a 10% (~$36 USD) tip out of the 9 Litecoins I've got stored in their (now worth $360 from the $13 they were worth only a few weeks ago  Wink ). From the dictionary I've created there are only ten words/phrases/number groupings that can be permuted into the passwords I often use.
Use the ruby script (with your words). you need ruby1.9.1 (eg ubuntu precise).
Which script is this? The one by Revalin is for mistyping a known password. Was there one I passed over accidentally thinking it was something else?

Edit: Wow, it's 7 posts up xD. I'll update later if it gets it Cheesy. And I'll donate to you Rev.
hero member
Activity: 525
Merit: 531
I've got a Litecoin wallet that I've encrypted and I seemed to have mistyped in the password. I've got a list of passwords that I use and it could be any permutation of these passwords put together or on their own.  I've read through the thread and saw the Powershell script but I'm running Linux and I'm too sure about getting Powershell.  I'm willing to give a 10% (~$36 USD) tip out of the 9 Litecoins I've got stored in their (now worth $360 from the $13 they were worth only a few weeks ago  Wink ). From the dictionary I've created there are only ten words/phrases/number groupings that can be permuted into the passwords I often use.
Use the ruby script (with your words). you need ruby1.9.1 (eg ubuntu precise).
newbie
Activity: 5
Merit: 0
I've got a Litecoin wallet that I've encrypted and I seemed to have mistyped in the password. I've got a list of passwords that I use and it could be any permutation of these passwords put together or on their own.  I've read through the thread and saw the Powershell script but I'm running Linux and I'm too sure about getting Powershell.  I'm willing to give a 10% (~$36 USD) tip out of the 9 Litecoins I've got stored in their (now worth $360 from the $13 they were worth only a few weeks ago  Wink ). From the dictionary I've created there are only ten words/phrases/number groupings that can be permuted into the passwords I often use.
legendary
Activity: 1694
Merit: 1024
Mine worked too! I added an extra character. Now my question is, how do I find the private key? Like, now that I have the password to my Litecoin wallet, how do I import the private key? Using pywallet it says I've found the password, but I can't find the private key anywhere in the text document it saves.
Pages:
Jump to: