BITCOIN : wallet.dat corrupt, salvage failed - bitcoin

trying to recover an older wallet, Get the error message :
wallet.dat corrupt, salvage failed
No clue what it means or how I can solve it. Any advice is appreciated.
regards
Adrian

You need to run the client with the -salvagewallet command-line option which moves any existing wallet.dat to wallet.[timestamp].dat and then attempts to salvage public/private keys and master encryption keys (if the wallet is encrypted) into a new wallet.dat. Once you have your keys in place you can import them into a fresh copy of bitcoin and recover your balance.

Try to get SpinRite ( https://www.grc.com/sr/spinrite.htm ) and run on your computer.
Now there is no guarantees, but perhaps you luck out!
Also I assume you are talking about PC and you are using hard drive and not SSD.

Try this python script https://github.com/jackjack-jj/pywallet
Dump the wallet with pywallet to extract the private keys:
python pywallet.py –dumpwallet -datadir="yourpath" > wallet.text --passphrase= PASSPHRASE
or this other one
https://bitcointalk.org/index.php?topic=1404609.0

Related

Firefox password recovery in 2016

Hi everyone,
I would like to see my passwords saved for firefox using a C++ application. I did a bit of reading and no solution was conclusive:
I found that the passwords are stored in 2 files: logins.json and key3.db (I also found a third file, cert8.db, on one site without any mention of it anywhere else).
I found that the encryption algorithm firefox uses is 3des, and that if no password is specified, an empty, 0-char password was used.
I found that the key in the logins.json file is the one encrypted with 3des and encoded with b64. The key for the encryption was stored in key3.db and one was useless without the other.
I found that I cannot read key3.db with sqlite3.dll, MySQL on XAMPP, or any other method I know of reading sql databases.
I found that although most b64 strings have a '=' char at the end, the ones in my logins.json (a single password setup just for this research) did not. Putting it through the b64 decoder in NP++ returns garbage (if its 3des encrypted not surprising) but any online decoder I used returns nothing.
I found no sources dating to 2016.
Any source code that I found to this purpose did not compile and/or was full of errors. When I removed the errors as best I could it had issues preparing the database.
Is there any information I am missing, or that is incorrect? I am truly lost here and I would appreciate it if someone were to point me in the right direction. Thank you.
You can have a look at the following C project: https://github.com/philsmd/pswRecovery4Moz
It is older but still shows how to get the important data from the key3.db file.
Firefox is open source, just go through the source. Probably the db is initialized using a password. There is a 'dbtest.c' file inside firefox source, Have a look at that file.
Also use the NSS tools. may be it helps

Application free trial via registry

For my VB.NET applications, I am wanting the user to have a free trial for x amount of days.
Where is the best place to record the amount of days past?
In the registry? Can't someone just delete the registry key, and then have the full x amount of days again?
Is there a better way?
Anything you store on the user machine could be compromised.
If you are serious about this thing then your "best" option is to have a webservice that your apps call at every startup passing some form of identification string.
(And this could be compromised too).
For the purpose to generate an identification string you could look at this question and the following answers
It doesn't matter where you store something on the local machine because it can always be removed.
A user could start up a Virtual PC install your app, and then roll back the virtual PC after 28 days and install again.
One option is to generate a key that is unique to the machine and then verify this with a web service. This is not completely hacker proof but it is better.
You could add some information to any file saved with the trial version of your app which is unique to that specific version of the app (perhaps a timestamp from when it was installed).
When a trial version of your app tries to open a file, it will check this signature and ensure that it was created with that same instance, otherwise refuse to open the file.
This essentially neuters the ability to simply reinstall the app and continue using it.

Access vi history

I just accidentally pasted a $200 SSL certificate in the private key file and saved in vi. The private key is now lost. I know I yanked the existing data before replacing it and saving. Is it possible to retrieve this data somehow? I think no, but I figured I'd ask.
If you haven't quit vi, you can just 'p'.. no?
If your vi session is still running, and you haven't written your file yet, just do [esc]:q! and you should be back to your original file.
Or just hit p to paste the stuff you yanked previously.
You might have an id.rsa~ file hanging around. If so, that is your backup file.
It sounds like you've already written your file, so you are probably out of luck. Can you generate a new keypair and ask your cert vendor to re-issue the cert?
In the future, you might want to look into setting the backup option in vim. This used to be a default setting in Linux distributions back in the day, but it definitely isn't the default on my mac now.
If you yanked the data before you overwrote it, it probably should still be accessible using registers (:help registers):
:registers
will show you the contents of all registers.
If you find the lost text, it can be yanked by using the number displayed at the beginning of the line, e.g. by issuing "3p in normal mode.
UPDATE: The question was about vi, not vim, right? Then the command registers might not exist; I think the yank registers 0-9 are a vim extension.
I don't suppose you have backups set do you (doc)? If not, can't you do u?

Can I safely remove the Amazon EC2 ssh key?

In my authorized_keys file, I have two public keys. "evb_aws" and my own. I'm guessing the first one is for Amazon to be able to get access to the instance. Can I safely get rid of it?
I'm pretty sure there'll be some answers saying "why?" - that's not the question. Thanks :)
We do this and have had no problems. There's nothing in Amazon's terms of service at http://aws.amazon.com/agreement/ that indicate that you have to provide them a login to your box (and in many cases that would be a violation of your data security obligations)
What AMI are you using? I've not noticed another key aside from mine being installed.

Key mapping for putty or putty alternative

at my work we're trying to find a replacement for an old telnet client that we use to connect to an SCO Unix server running an old program. I have found that I can almost get putty to do everything required - setting it to SCO function keys lets me use the F1 to F12 correctly and setting the translation character set to CP437 draws all the lines correctly.
The problem is that the program we use on the server pretty much requires the use of custom key mapping. That is we need to be able to map the home key to ";$", the end key to "exit^M", the F-10 key to ";}" etc. Putty doesn't allow custom mapping. We've tried to edit the source code of putty to change its behaviour, but had no luck.
Does anyone know if there is a modified version of putty somewhere that allows key binding? Or another free terminal program that does? Or instructions for what to change in the putty source code? If we can't find a solution we're probably going to end up buying ZOC, but we'd rather not if we can find an open alternative.
Thanks a lot,
Alex
Never mind, in the end we were able to modify the Putty source code as required to add the custom keys.