How To Remove DRM from MOBI and PRC eBooks

Ads by Google

kindleMobi and PRC are the default ebook formats used by the popular MobiPocket. In 2005, the company was aquired by Amazon, so yes, even the celebrated Amazon Kindle now works with these files. When you buy an ebook online from one of the major retailers, you can be pretty sure you’re getting a Mobi book.

Now, don’t get me wrong. It’s a great format and I’ve enjoyed many wonderful books on my Windows Mobile device using the MobiPocket reader. However, most of these encrypted files are a real pain if you want to throw them on different devices or use other software.

Today, we’ll show you how to crack the encryption of these files, so you can enjoy them however you want. In other words, we’ll show you how to remove drm from MOBI and PRC files. When you’re done, you’ll be able to read them on any system or device, convert those MOBI or PRC ebooks to PDF or any other format you’d like and you’ll – once again – own those books that you’ve payed for.

DISCLAIMER – Stripping the encryption of your ebooks might be illegal in your country of residence. Distribution of decrypted ebooks almost certainly is illegal. MakeUseOf is not responsible for any legal problems you might face. Act wisely, or face the consequences personally if you don’t.

With that said, let’s get going.

Ads by Google


A tool that has been able to break nearly every mobi/prc encryption is MobiDeDrm, courtesy of pdurrant. This download contains four simple python scripts; versions 0.01, 0.02 and 0.05.

Downloading Python

These scripts should run on any OS, given you’ve got the right files installed. So, before we can get started, you’ll have to download Python and a Python extension module like wxPython. What you need to do is to visit this site and you will be greeted by a webpage as seen below:

In both steps 1 and 2, choose the Python and wxPython module according to your operating system.

After these applications are installed, Python scripts should run flawlessly on Windows, Mac and Linux.

Finding Your PID

Your PID is the personal key that your reader uses to encrypt and read the file. We’re going to need this key if we’re to permanently strip the DRM from the ebook.

Because MobiPocket is designed to be used with different devices, the PIDs are out in the open for the user to grab. If your ebook is hosted on another device (i.e. Kindle), simply sync it up with the software before you proceed.


In MobiPocket on your desktop, go to Devices, and you’ll see the PID of said reader in Details. Note that a PID is both device and ebook-specific. Upon transfering your ebook, the PID is also altered, so you’ll need the PID of the right device or the decryption will fail.

When buying a Mobi ebook online, you’re most often asked for your PID before downloading. Obviously, this is the PID you’ll need to use. However, sometimes the process is turned around.

If you’re asked for the store username and password upon adding the book, it hasn’t and won’t be matched with your PID. Instead, you’ll first need to transfer the ebook to another device (e.g. Kindle or Windows Mobile) and use that PID. With me so far?

Removing Encryption

Once we have the right PID, most of the work is already behind us. We’ll now deploy the scripts to permanently remove the encryption. For accessibility, it’s advised to put your eBook and the python scripts in the same folder.


First, open the Terminal or command screen.

In Windows XP, go to Start – Run, type cmd and hit enter. In Vista, go to Start, type cmd in the search box and hit enter.

The Terminal application is located in /Applications/Utilities for Mac OS X.

And if you’re using Linux, you’ll probably know the location. In most distributions, this will also be located at Applications/Utilities.


Next, you navigate to the folder containing your files. To do this, type cd, followed by the full file path to your folder, and hit enter. In my case, that’ll make for cd /home/simon/ebook. If your filepath contains spaces, put single quotes ( ‘ ) around it.


Now, all you need to do is run the script. Type python PID and hit enter. Substitute “”, “” and “PID” with the appropriate filenames, file extensions and the PID respectively. In my case, that’ll make for python ebook.prc outfile.prc 1234567$ab

If you’re experiencing trouble, try putting your PID between single quotes ( ‘ ) or using one of the previous script versions (e.g. Some ebooks refuse to work with the later versions (strangely) but work perfectly well with the first one.


If all went well, you’ll now be the proud owner of another, unencrypted version of your ebook.

You can sync this with any device you want without too much of a hassle, or convert it to an easier to use format like pdf, rtf or html. Calibre and ABC Palm are great free resources to help you achieve the conversion, and a simple Google search will show even more.

How did that work out for you? Do you like reading your ebooks on one device or prefer the liberty to choose your own? Let us know in the comments.

Join live MakeUseOf Groups on Grouvi App Join live Groups on Grouvi
Awesome Internet (and Tips)
Awesome Internet (and Tips)
1417 Members
Stay Invisible Online
Stay Invisible Online
1034 Members
Deep Web Links & Tips
Deep Web Links & Tips
698 Members
Web Security & Privacy
Web Security & Privacy
509 Members
Music Apps & Sites
Music Apps & Sites
392 Members
Affiliate Disclamer

This article may contain affiliate links, which pays us a small compensation if you do decide to make a purchase based on our recommendation. Our judgement is in no way biased, and our recommendations are always based on the merits of the items.

For more details, please read our disclosure.
New comment

Please login to avoid entering captcha

Log In