I plan to sell my old Kindle Keyboard and I want to erase all the Kindle's data ( my books, my personal info, wi-fi passwords...) before. Is it enough to deregister the Kindle and execute a factory reset? Would it completely erase everything?
Every Kindle has a menu option "Reset to Factory Defaults", which does exactly what you want: It removes all user specific data from the device.
Step by step instructions for factory resets on various Kindle devices
For the paranoid: Most devices will not actually erase your data, but just mark it as "erased". For the user both are the same thing - if you sell your device, the new owner will not see your stuff. For anybody with sufficient knowledge and interest in that piece of information - such as crime scene investigators etc. - it usually is possible to restore data. I have not checked if a Kindle will actually overwrite your data or leave traces behind.
After deregistering the device and executing factory reset the Kindle looks empty. It shows none of my earlier books.
I've connected the Kindle to a Linux computer and copied all the information to a huge (3.2GB) file:
dd if=/dev/sdc1 of=afterfactoryreset.dat bs=1M
One of the books I've read on this device is Zendegi ( by Greg Egan ) so I've searched for the string zendegi which appears quite a few times:
$ strings afterfactoryreset.dat | grep -i zendegi ;/mnt/us/documents/Zendegi-asin_B003NE5TVU-type_EBOK-v_0.azwt ;/mnt/us/documents/Zendegi-asin_B003NE5TVU-type_EBOK-v_0.azwt Zendegi Zendegi LAST_BOOK_READ=/mnt/us/documents/Zendegi-asin_B003NE5TVU-type_EBOK-v_0.azw ;/mnt/us/documents/Zendegi-asin_B003NE5TVU-type_EBOK-v_0.azwsq ;/mnt/us/documents/Zendegi-asin_B003NE5TVU-type_EBOK-v_0.mbpsr </mnt/us/documents/Zendegi-asin_B003NE5TVU-type_EBOK-v_0.apnxsq ;/mnt/us/documents/Zendegi-asin_B003NE5TVU-type_EBOK-v_0.azwsq ...
It was very easy to create a script which lists most of the books previously installed on the device:
$ strings afterfactoryreset.dat | grep -i '^mnt/us/documents' | rev | cut -d "." -f2- | rev | sort | uniq mnt/us/documents/A Clash of Kings A Song of Ice a-asin_B000FC1HBY-type_EBOK-v_0 ... mnt/us/documents/Zendegi-asin_B003NE5TVU-type_EBOK-v_0
It's not a perfect list but clearly shows that factory reset does not erase all the information.
There are several ways to wipe the empty space of the filesystem. A very simple (not that secure) way is to create a huge files filled with zeroes and delete it:
dd if=/dev/zero of=/path/to/mounted/kindle/hugefile.dat sync rm /path/to/mounted/kindle/hugefile.dat
After that the script does not list the previously installed books.
You can use
Reset to Factory Defaults to reset your Kindle:
Menu button > Settings > Menu button > Reset to Factory Defaults
If for some reason the
Reset to Factory Defaults option is not working for you (I had a hard time accessing it with a partially broken screen), you can also reset the kindle from the
Device Password lockscreen prompt:
Menu button > Settings > Device Password > Set any password ("abc")
Press power button to sleep, then again to wake.
At the lockscreen password prompt, type
resetmykindleas your password.
resetmykindle initiates the
Reset to Factory Defaults feature.
This is not 100% correct
dd if=/dev/zero of=/path/to/mounted/kindle/hugefile.dat
You should replace the data with random numbers, not zeroes.
dd if=/dev/urandom of=/path/to/mounted/kindle/hugefile.dat