Author

Topic: Suggestion for Andreas Schildbach's Bitcoin Wallet (Read 2467 times)

hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
 @PabloW You must have entered a numeric PIN before exporting the backup, which means you need to use another program to extract the seed using your PIN

Through this tutorial I managed, following the tips of HCP, the guy who helped me, as well as @ HI-TEC99, in short, you have to download the program: decrypt bitcoinj seed >>> https://bitcointalksearch.org/topic/has-anyone-here-been-able-to-decode-the-backup-of-bitcoin-wallet-schildbatch-1997031
full member
Activity: 228
Merit: 106
Just did the same process, managed to decrypt the file, but mine also doesnt have any readable words
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
Mycelium is the better!  Roll Eyes
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
In my opinion there should be a second password besides the PIN.

Just as blockchain.info already does. I already suggested this to them ( Mycelium ) in the play store, the guys have to understand ...
legendary
Activity: 2772
Merit: 2846
I made a mistake in my question;

I wanted to ask: What is the editor that dooglus uses?

But That wallet drug that did not show me the 12 words, all the others show, except this wallet, I'll move on to mycelium which is better. But the Mycelium problem is just the PIN of only 6 numbers, I find it rather insecure a password with only 6 numbers. And what do you have to say about Mycelium and your PIN?

According to this mycelium tutorial hackers can easily crack PIN codes, so if your phone gets stolen you have to act quickly. The longer you take to recover from a backup and move your coins, the more likely they are to get stolen.

https://satoshicounter.com/2015/07/09/mycelium/

Quote
experienced hackers can crack PIN codes without too much difficulty. If you think this is the case, make sure to quickly follow the next steps.Don’t panic!

It's a pity mycelium doesn't offer the choice of using either a password or a pin. A password's more secure.
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
I made a mistake in my question;

I wanted to ask: What is the editor that dooglus uses?

But That wallet drug that did not show me the 12 words, all the others show, except this wallet, I'll move on to mycelium which is better. But the Mycelium problem is just the PIN of only 6 numbers, I find it rather insecure a password with only 6 numbers. And what do you have to say about Mycelium and your PIN?
legendary
Activity: 2772
Merit: 2846
Which dooglus editor did you use?

Dooglus isn't an editor, he's one of the devs of a coin called clam coin. He also created and runs a dice gambling website.

He posted this screenshot of his wallet's words in the post quoted below, but I don't know what editor it was from.


Looking at the protobuf backup in a text editor, I see it starts like this:



Notice the 12 words in the middle there?

This is the link to dooglus's bitcointalk profile.

https://bitcointalksearch.org/user/dooglus-3420

This is the link to his dice gambling website.

https://just-dice.com/
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
Which dooglus editor did you use?
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
I did not find my words in any line, I checked more than 5x

There must have been some mistake, I do not understand, it was to appear my 12 words too ...  Undecided

I searched line by line
legendary
Activity: 2772
Merit: 2846
To make sure I made another backup with the same password as yours and I used the same command and it worked! Decrypted!

I was opening with the windows notepad and it was totally unreadable.

Instead I used notepad ++ on the desktop

But I could not find the words of the seed of the wallet. In yours, the words of the seed are on line 2, and mine are not, I am now trying to find my words...

In which line do words usually stay??

Mine were on the first line, but I wasn't using word wrap view. If I was using word wrap view they would have been on the second line.

However, dooglus found his words on the fourth line.


Looking at the protobuf backup in a text editor, I see it starts like this:



Notice the 12 words in the middle there? That's the BIP32 mnenomic for the wallet - and that's all we need.

hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
To make sure I made another backup with the same password as yours and I used the same command and it worked! Decrypted!

I was opening with the windows notepad and it was totally unreadable.

Instead I used notepad ++ on the desktop

But I could not find the words of the seed of the wallet. In yours, the words of the seed are on line 2, and mine are not, I am now trying to find my words...

In which line do words usually stay??
legendary
Activity: 2772
Merit: 2846
I got it working, although I had to use git to decrypt the wallet backup. That other software didn't work.

After installing android and Schildbach's Wallet on virtualbox, I created a wallet backup, then transferred it to my PC.


Strangely, Schildbach's Wallet on virtualbox showed a drop down menu with an option for backing up. That menu doesn't appear on the Schildbach Wallet installed on my phone, at least I can't find it. Here it is on virtualbox.




The git command line below decrypted the wallet backup without errors,

openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-2017-03-15 -pass pass:111111111111111 > bitcoin-wallet-decrypted-backup

This is the password 111111111111111, so it works witth passwords over 15 characters in length.


The decrypted backup wasn't readable in notepad, I had to use the portable text editor linked below to read the wallet words in it.

http://portableapps.com/apps/development/notepadpp_portable


These are the wallet words in the decrypted wallet backup file.






This is where I put the recovered wallet words in that webpage for recovering private keys.






These are the settings I put into that webpage for recovering addresses and their private keys. If you want to get change addresses then you use m/0'/1 instead.






This is the address my android wallet generated.





These are the addresses recovered from android by that webpage (the one above is at the top).

legendary
Activity: 2772
Merit: 2846
It almost worked:

Quote
openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-2017-02-24 -pass ************************ > bitcoin-wallet-decrypted-backup

I entered the correct password, it is correct, but the program accuses it is wrong, I did not even type the password, just copied it into the notepad and then typed my password into git-bash, and it did not take all My password, as my password has 24 characters, it only recognized only 10 characters as you can see below in the log:

Quote
[1] 2736
bash: MwCtyRWU: command not found
Invalid password argument "**********"
Error getting password
[1]+  Exit 1                  openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-2017                                                           -02-24 -pass **********

Can the program decrypt at most one file with a 10-character password? I'll make another backup with 10 characters and confirm this.


Have you tried the same, but with the extra bit in red added as shown below?

openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-2017-02-24 -pass pass:************************ > bitcoin-wallet-decrypted-backup


I'm installing android on virtualbox so I can test properly, but setting it up is taking some time.
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
It almost worked:

Quote
openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-2017-02-24 -pass ************************ > bitcoin-wallet-decrypted-backup

I entered the correct password, it is correct, but the program accuses it is wrong, I did not even type the password, just copied it into the notepad and then typed my password into git-bash, and it did not take all My password, as my password has 24 characters, it only recognized only 10 characters as you can see below in the log:

Quote
[1] 2736
bash: MwCtyRWU: command not found
Invalid password argument "**********"
Error getting password
[1]+  Exit 1                  openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-2017                                                           -02-24 -pass **********

Can the program decrypt at most one file with a 10-character password? I'll make another backup with 10 characters and confirm this.
legendary
Activity: 2772
Merit: 2846
Use this software to decrypt the file from the wallet, I did everything as you requested, however when I click on Decrypt, I put my password and a message appears in red: Decryption failed (error: 80090005,581). Invalid data.

I've even followed your last gitbash tip up and Did not work either.

Is a lot of unsuccessful attempt, I do not know what is the problem of this dev of not leaving the keys with the users themselves. I'm almost using Mycelium, but Mycelium's problem is that I do not trust that PIN Of 6 numbers It seems easy to be broken by brute force

By the way in bitcoin wallet I had put a PIN before backing up, which part does that PIN enter?

You really are willing to help me thank you for now.

I'm a little grateful.


I'n not sure about the pin, but I successfully decrypted a test backup wallet a while ago. The problem is I can't remember its password, although I still have the file.

I reinstalled Schildbach's Wallet on my phone and tried to generate a new wallet file and password, but it won't let me set a password, or do a backup. I can't find any options for that. The quote below suggests I will have to send Bitcoins to the wallet before it will display a backup reminder on the bottom of the screen. After that I should be able to backup my wallet file, move it to my computer, and start running tests on it.

Well, the app has an in-app backup reminder that tells you when its needed to back up the wallet. Keep an eye on the bottom of the main screen. Normally, you only need to refresh your backup when you have added a key.

I'll make a start on that tomorrow. There should be an option to do a backup whenever you want, not just when the app decides it's time to do one.



I can't test the instructions properly until I get a wallet file with a password I can remember. After trying the command line instructions with my current wallet file I got the bad decrypt error below, but Schildbach's Github says that means the password's wrong. When I tested my file with that software I got a bad data error, but assumed that was because I couldn't remember the password.

https://github.com/bitcoin-wallet/bitcoin-wallet/issues/289

Quote
I found the command line option using openssl. I tried that approach and received the following error:

[user@vault ~]$ openssl enc -d -aes-256-cbc -a -in Android-Bitcoin-Wallet-backup-2015-06-29 > bitcoin-wallet-decrypted-backup
enter aes-256-cbc decryption password:
bad decrypt
140667725473648:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:609:


Quote
schildbach commented on 5 Jan 2016
Yes, that means the backup password is wrong.
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
Use this software to decrypt the file from the wallet, I did everything as you requested, however when I click on Decrypt, I put my password and a message appears in red: Decryption failed (error: 80090005,581). Invalid data.

I've even followed your last gitbash tip up and Did not work either.

Is a lot of unsuccessful attempt, I do not know what is the problem of this dev of not leaving the keys with the users themselves. I'm almost using Mycelium, but Mycelium's problem is that I do not trust that PIN Of 6 numbers It seems easy to be broken by brute force

By the way in bitcoin wallet I had put a PIN before backing up, which part does that PIN enter?

You really are willing to help me thank you for now.

I'm a little grateful.
legendary
Activity: 2772
Merit: 2846
I found an old post by someone who decrypted his wallet file using an AES (256 bit) decrypter.

Is there a way to export the private key unencrypted? I need to see it, so I can import it in another client, like the desktop clients. Also, is there a way to import your own private key?

You can decrypt it yourself... either by downloading an AES ( 256 bit ) decrypter or using one of the online ones.  

I did that to import some keys into blockchain.info/wallet that I exported from this android wallet.  

edit

As that's simpler than using the git command line searched for some software that decrypts wallet files, but couldn't find any openssl AES CBC compatible point and click software.

If someone knows of any please post a link here.
legendary
Activity: 2772
Merit: 2846
Try putting the android wallet file in the same folder as git-bash.exe

I tested this a while ago and got it working, but since then I installed a different version of git and changed my computer configuration around. Although I have been playing with this for a while I haven't got it working yet. I'll update the instructions when I figure out what I did last time.

edit

Try this out where the red testpassword is your wallet's password, and replace bitcoin-wallet-backup-2017-01-01 with your wallet's name.

openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-2017-01-01 > bitcoin-wallet-decrypted-backup -pass pass:testpassword
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
After I transferred the backup to a folder C: \ Git \ bin

I gave the command: openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-2017-02-24 > bitcoin-wallet-decrypted-backup

It returned me this error message:
Quote
openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-2017-02-24 > bitcoin-            wallet-decrypted-backup
bitcoin-wallet-backup-2017-02-24: No such file or directory
3496:error:02001002:system library:fopen:No such file or directory:bss_file.c:40            2:fopen('bitcoin-wallet-backup-2017-02-24','rb')
3496:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:404:

Yes, The name of the backup I have never changed since when I saved this backup and transferred to other devices.

Yeah, you're right, there should be the option to export private keys without coding. Until recently, you could use the bitcoin wallet backup in the multibit classic, or the classic multibit transfer to the Andreas Schildbach's bitcon wallet.
legendary
Activity: 2772
Merit: 2846
Change this filename in the instructions bitcoin-wallet-backup-2017-02-24

It should be the same name as the wallet file you got from your android phone.

It should start with bitcoin-wallet-backup- and end with the date you backed it up on your phone.

The wallet file on your android phone should be in the /sdcard/Download/ folder after you back it up.

For example

/sdcard/Download/bitcoin-wallet-backup-2017-02-24

You might have to put that file in the folder path below to decrypt it.

C:\Git\bin

The decrypted wallet file should also get written to that same folder by the git bash command.
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
Thanks for replying dear user

When I type in software git bash: openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-2017-02-24 > bitcoin-wallet-decrypted-backup

It returns:

Quote
unknown option '-aes256-cbc'
options are
-in     input file
-out    output file
-pass    pass phrase source
-e             encrypt
-d             decrypt
-a/-base64     base64 encode/decode, depending on encryption flag
-k             passphrase is the next argument
-kfile         passphrase is the first line of the file argument
-md            the next argument is the md to use to create a key
                 from a passphrase.  One of md2, md5, sha or sha1
-S             salt in hex is the next argument
-K/-iv         key/iv in hex is the next argument
-[pP]          print the iv/key (then exit if -P)
-bufsize   buffer size
-nopad         disable standard block padding
-engine e      use engine e, possibly a hardware device.
Cipher Types
-aes-128-cbc               -aes-128-ccm               -aes-128-cfb
-aes-128-cfb1              -aes-128-cfb8              -aes-128-ctr
-aes-128-ecb               -aes-128-gcm               -aes-128-ofb
-aes-128-xts               -aes-192-cbc               -aes-192-ccm
-aes-192-cfb               -aes-192-cfb1              -aes-192-cfb8
-aes-192-ctr               -aes-192-ecb               -aes-192-gcm
-aes-192-ofb               -aes-256-cbc               -aes-256-ccm
-aes-256-cfb               -aes-256-cfb1              -aes-256-cfb8
-aes-256-ctr               -aes-256-ecb               -aes-256-gcm
-aes-256-ofb               -aes-256-xts               -aes128
-aes192                    -aes256                    -bf
-bf-cbc                    -bf-cfb                    -bf-ecb
-bf-ofb                    -blowfish                  -camellia-128-cbc
-camellia-128-cfb          -camellia-128-cfb1         -camellia-128-cfb8
-camellia-128-ecb          -camellia-128-ofb          -camellia-192-cbc
-camellia-192-cfb          -camellia-192-cfb1         -camellia-192-cfb8
-camellia-192-ecb          -camellia-192-ofb          -camellia-256-cbc
-camellia-256-cfb          -camellia-256-cfb1         -camellia-256-cfb8
-camellia-256-ecb          -camellia-256-ofb          -camellia128
-camellia192               -camellia256               -cast
-cast-cbc                  -cast5-cbc                 -cast5-cfb
-cast5-ecb                 -cast5-ofb                 -des
-des-cbc                   -des-cfb                   -des-cfb1
-des-cfb8                  -des-ecb                   -des-ede
-des-ede-cbc               -des-ede-cfb               -des-ede-ofb
-des-ede3                  -des-ede3-cbc              -des-ede3-cfb
-des-ede3-cfb1             -des-ede3-cfb8             -des-ede3-ofb
-des-ofb                   -des3                      -desx
-desx-cbc                  -id-aes128-CCM             -id-aes128-GCM
-id-aes128-wrap            -id-aes192-CCM             -id-aes192-GCM
-id-aes192-wrap            -id-aes256-CCM             -id-aes256-GCM
-id-aes256-wrap            -id-smime-alg-CMS3DESwrap  -idea
-idea-cbc                  -idea-cfb                  -idea-ecb
-idea-ofb                  -rc2                       -rc2-40-cbc
-rc2-64-cbc                -rc2-cbc                   -rc2-cfb
-rc2-ecb                   -rc2-ofb                   -rc4
-rc4-40                    -rc4-hmac-md5              -seed
-seed-cbc                  -seed-cfb                  -seed-ecb
-seed-ofb

Then I type the backup password: -k ******************

It returns something like an error. Surely I did it wrong? Please if you can explain the right command, because I did according:

Quote
DECRYPTING

You now have your backup file on your PC. Wallet backups are encrypted. Let's decrypt it using:

openssl enc -d -aes-256-cbc -a -in bitcoin-wallet-backup-testnet-2014-11-01 > bitcoin-wallet-decrypted-backup

It will ask you for a decryption password, which is your backup password. If it prints
"bad password" you've got the wrong password, but if it doesn't print anything your password might
still be wrong. We can only be sure by looking at the decrypted data.
legendary
Activity: 2772
Merit: 2846
I agree there should be an easy way to export private keys, but this was Andreas Schildbach's response to an earlier request for adding that option.

Private keys are not meant to be moved around, because they are very sensitive to theft. In fact the only reason to move them out of the app is a backup of the keys (which is unfortunately necessary).

If you want to move value to another wallet, use a standard Bitcoin transaction. That's much safer!



As the github readme instructions are complicated I posted simplified instructions for exporting private keys below.

First get your wallet file off your android phone. You might have to restart your phone it before you can see it.


Looking at the protobuf backup in a text editor, I see it starts like this:



Notice the 12 words in the middle there? That's the BIP32 mnenomic for the wallet - and that's all we need.

Copy the 12 words, paste them into https://dcpos.github.io/bip39/, go to the BIP32 tab, put "m/0'/0" into the "BIP32 Derivation Path" field, and there are all your receiving private keys. Then put "m/0'/1" in the same box and see all your change address private keys. You can toggle off the paths and addresses, generate as many as you need, then copy/paste them into a text file for importing into the CLAM wallet.

Here's a screenshot of the Android wallet, showing my receiving addresses:



and here's a screenshot of the dcpos bip39 page showing the same addresses along with the private keys:



Note that if you put "m/0'" into the "BIP32 Derivation Path" field, it shows you the same xpub string that the Android wallet app shows you when you go to "Settings>Diagnostics>Show xpub".



Rather than forcing people to jump through all the "simplified" hoops above it would be simpler just to include an option to export private keys from the wallet.
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
Well, I saw in this topic many requests for help on how to decode the backup that contains the private keys of this wallet mobile, since the wallet only allows you to send and receive, but you can not sign addresses Well there should be this option: Export private keys without Encrypt this export file. For if the private keys are mine, I have the right to export the privkeys of this wallet, for I am the sole owner of them.

I know you have a means of decoding the backup by following this manual: https://raw.githubusercontent.com/bitcoin-wallet/bitcoin-wallet/master/wallet/README.recover

But you have to understand that not everybody understands programming, and this manual is difficult to follow, would not it be easier to have an option in the app: "Export private keys"? We users know that handling the private keys is dangerous and so.

Is there no way I can backup if this backup is only for this wallet, and if I want to import the private keys into Bitcoin core or Electrum? To sign addresses for example ??

It seems that there was this option in older versions but why did they remove it?

I really like this wallet because it seems to be the simplest and most practical. But I only have this criticism. Please leave the option to export the private keys if we need to import into other alternative clients.

Thanks.
Jump to: