HOWTO: Read Kindle eBooks on your Windows Mobile 6 device

November 19, 2010

imageUPDATE 12/16/11:
I was looking to take my Kindle eBooks on the road, so I also wrote a post on how I took a given chapter of an eBook and printed it for reading on the road.  It’s useful for when I’m reading in environments where the reading material could get damaged – like at the pool, on the beach, or in lousy weather conditions.


I love my Kindle.  It’s so easy to read and it rarely requires charging.  It provides me with my newspaper every morning and it’s the first eBook reader in maybe 10 years that I read an entire book on.  (And I have!  Lightweight, easy to read in direct sun, ridiculous battery life… suck on that iPad.)

But the statement above implies that I once read an entire book on ANOTHER eBook reader… which in fact I did.  In 2001, I read the entirety of several eBooks on my Windows Mobile device using the Microsoft Reader .LIT format.  The first book I read was Michael Crichton’s Timeline, which I still have to this day in .LIT format… along with a laundry list of Star Trek books.

Today, the Windows Mobile platform isn’t very useful for using any media that is DRM protected.  There just aren’t readers written for content that has DRM on it.  So the question becomes, “How do I disable the DRM on a given Kindle eBook so that I can read my eBooks on my Windows Mobile device?”  I shouldn’t have to worry about what device I read the eBook on as long as I PAY for the eBook and don’t distribute it to others.

It turns out this is relatively trivial to do for Amazon eBooks for the Kindle.

First you want to start by downloading a set of tools:

  1. Kindle for PC/Windows 1.01 Beta
    Using the early versions of Kindle for PC makes this possible.  Newer versions are more difficult to deal with apparently – hence the reason I use the 1.01 Beta which is freely downloadable from FileHippo.
  2. ActiveState’s ActivePython 32-BIT Runtime
    This needs to be 32-bit by the way even if you have 64-bit Windows 7.  The 32-bit runtime can be installed without a problem – any attempt to try the decryption tools on x64 will result in errors that say, “Could not read from memory…”
  3. Apprentice Alf’s decryption tools
    These tools are stored in an archive called “tools_v2.2a” and contain Python scripts that strip the DRM off of .MOBI formatted eBooks that Amazon distributes.  Unpack the contents to a directory called “\tools_v2.2a” – including the directory hierarchy.  I have to admit that despite knowing very little about Python, the power of these scripts that are run in an interpreter is very impressive.  There is no binary code involved in the DRM stripping process outside of the Python runtime engine which should have been previously downloaded.
  4. Mobipocket for Windows Mobile 6.x
    This is a free .MOBI file reader, the format that Amazon uses to publish their eBooks in… except that Amazon’s books are for the most part DRM protected to prevent people from moving content to other platform, which is essentially what we’re doing here but for our own personal use only.

imageInstall all 3 tools and then install the Mobipocket software on your Windows Mobile phone.  (Again, as a reminder, the decryption tools should simply be unzipped to “\tools_v2.2a” while MAINTAINING THE FOLDER HIERARCHY IN THE ARCHIVE so that you get the right files files grouped into the right folders)

You’ll want to do a little bit of preparation with the apps configuration before you proceed:

    Once you’ve installed Kindle for PC, sign in and download the books you have access to.  Test that you can read the books within the desktop reader:  If you can’t read the books on the PC, you won’t be able to decrypt them.
    Be sure, again, to run the 32-bit version regardless of whether or not you’re running a x64 version of Windows.  64-bit Python won’t run the scripts properly.
    The directory you’re looking for is called:

The “Unswindle” script is called “unswindle_v7.pyw”.  It is a little slow but it will automatically open the Kindle for PC application, then wait for you to open an eBook.  Once you do this, close the Kindle for PC application.  The script will continue.

In the background, the Unswindle script has captured the key necessary to decrypt the entire eBook.  Now that it has that in memory, it can process the eBook, decrypt it’s contents, and write a DRM-free version to your hard drive.  The script will open a dialog box that will ask for the name of the file to assign to your newly DRM-free .MOBI eBook.  Type it in and it’ll save the eBook to disk without any DRM.

That’s it.  The file can now be copied to your Windows Mobile device for reading on Mobipocket.  The Mobipocket software will not necessarily recognize the new .MOBI file on your device so in order to READ the new eBook, simply go to File Manager and click on the .MOBI file.  It will register with Mobipocket and you’ll be reading it in seconds.

I originally wasn’t going to say this but upon further thought, it warrants reminding people that just because you have the ability to now use eBook content on the platforms of your choice, doesn’t mean you should ever deprive hardworking authors of their livelihoods.  This process is obviously for personal use only & Wheaton’s Law most definitely applies.