Pinterest Stumbleupon Whatsapp
Ads by Google

kindleMobi and PRC are the default ebook formats used by the popular MobiPocket Mobipocket - Awesome Free ebook Reader Mobipocket - Awesome Free ebook Reader Read More . 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.

  1. james
    May 21, 2015 at 1:38 pm

    Yes plus one for opening PDC. Is there a similar method?

  2. Karim
    December 22, 2014 at 1:24 pm

    Thanks for the instructions. However on a side note, I would like some help opening a PDC file.


  3. matt
    February 12, 2010 at 8:16 pm

    I got Python 2.6.4 and wxPython installed and go to the command prompt get in to the script folder but i cant find the file, the only .py files are and
    What am i doing wrong?

  4. RR
    January 18, 2010 at 5:48 pm

    I just posted full instructions here.

    Stripping DRM protection from Amazon Kindle and Mobipocket ebooks:

  5. RR
    January 18, 2010 at 3:42 pm

    Stripping DRM from Amazon Kindle ebooks:

    Use a program called "unswindle.pyw"

    Read this for instructions and to get the program. It's even easier than stripping DRM for Mobipocket books.

    1. Put "unswindle.pyw" on your PC.
    2. Install free "Kindle for PC" (get it from Amazon's site), if you don't already have it.
    3. Put your Kindle ebook in the same directory as "unswindle.pyw."
    4. Double-click "unswindle.pyw." It opens "Kindle for PC."
    5. Within "Kindle for PC," open the Kindle book whose DRM you want to strip.
    6. Close "Kindle for PC." A window pops up, saying "Select unencrypted file you want to produce."
    7. Type the filename you want for your no-DRM Kindle book. Click OK.

    That's it! Note: this does NOT unencrypt Topaz ebooks, which are a significant fraction of Kindle books. I have still not found a program on the Internet to do it. This forum talks about Topaz ebooks:

  6. RR
    January 18, 2010 at 3:40 pm

    Min, you forgot to set the PATH variable in your PC. That's why it does not recognize Python.

    1. Download and unzip from above link. Or download full torrent of DRM stripping files for several formats:

    2. Install Python

    3. Install wxPython

    4. To use Python on a Windows PC, edit your "PATH" environment variable:

    Right click on "My Computer." Click "Properties." Click "Advanced" tab. Click "Environment Variables." Under "System Variables," edit the "PATH" by adding the directory where Python is installed on your PC.
    For me, I added "c:\Python26;" to the end.

    5. Put all your Mobipocket books into the same directory as

    6. On your PC, click "Start" button in lower left corner. Click "Run." Type "cmd" and click "OK" to go to DOS window.

    7. Type "cd [full directory of and the ebooks you want to strip]" and hit Enter. Now you're ready to go!

    8. Type "python [your ebook filename] [your ebook filename after stripping DRM] [Your PID number]" and hit Enter.

    You're done!

    • min
      January 18, 2010 at 10:41 pm

      Thank you so much. I'm sorry I'm so computer illiterate.

      I followed all your instructions exactly, but when i do step 8 it gives me "python: can't open '': [Errno 2] No such file or directory.

      For step 1, I downloaded from the link above and unzipped it.

      What did I do wrong now?

      • RR
        January 18, 2010 at 11:08 pm

        You didn't follow step 5. Copy into the same directory as your ebooks that you want to strip, which I assume is your "My eBooks" directory. C'mon, it's common sense! Both the program you run and the ebooks must be in the same directory. This is the last time I'm answering your questions. It's all on my website.

        • min
          January 19, 2010 at 12:12 am

          actually i did do that.

  7. min
    January 18, 2010 at 3:57 am

    I looked up the the pathway for my ebooks in properties and it says "C:\Users\min\Documents\My eBooks" , so I tried entering "cd /C:\Users\min\Documents\My eBooks". It tells me "The Filename, Directory Name, or Volume Label Syntax Is Incorrect" when I do that. What am I doing wrong?

    • RR
      January 18, 2010 at 9:16 am

      It's very simple, Min. You used the wrong slash. It's forward slash, NOT backslash. Also, you probably put the wrong file directory. Type:

      cd c:/Documents and Settings/min/My Documents/My eBooks

      • min
        January 18, 2010 at 2:50 pm

        Thanks, that worked.

        Now though when i enter "python PID" with the infile, outfile, and pid replaced, it keeps telling me "'Python' is not recognized as an internal or external command, operable program or batch file. I also tried " PID" like one of the comments said to above and it still gives me the same response. I definitely downloaded Python and wxPythong. The versions I used were Python2.6.4 and wxPython2.8 win32unicode.

        What should I have done differently?

  8. AnthroJames
    January 16, 2010 at 5:21 am

    I had never used Python for anything before and had to work through a few things, but finally got this to work using your mobidedrm002script. Anyway, it worked great and I have more access to more books. Thank you for your work and for making it available.

  9. Jay
    January 9, 2010 at 5:22 am

    I keep getting Python not found message. I had no problems when I tested using the command prompt and even added it manually to the system variable path. Help!

    • RR
      January 9, 2010 at 11:34 am

      Jay, you added "c:\Python26;" to the PATH variable? And in the DOS command window, when you type Python, it shows a Python command prompt ">>> " right? If both are true, Python programs should work. Try finding a simple Python program online (like printing "Hello World"), making a .py file with it, and running it.

      • Jay
        January 10, 2010 at 1:36 am

        Ok, finally got it to work, I missed out on the ; which caused the problem. Thank you!

  10. Grateful Bastard
    January 3, 2010 at 7:09 pm

    Just simply Thanks.

  11. RR
    December 27, 2009 at 5:40 pm

    This forum should be very helpful to everyone here:

    Stripping DRM protection from Kindle and Mobipocket books

  12. RR
    December 27, 2009 at 5:37 pm

    I just solved my own problem! Although I can now strip DRM off of ebooks bought from Mobipocket and Amazon, I could NOT strip the DRM from a Mobipocket book I bought from eBookMall. (A non-Mobipocket store)

    Running all versions of on it did not work. It would keep giving me the error: "no PIDs found in this file.”

    But now I know how to do it! Here's the answer:

    "This sounds like you have an unserialised eBook. Some eBook stores let you download a book without any embedded PID. You have to open it in Mobipocket Reader, which will connect to Mobipocket and generate a new version of the eBook with the PID for your copy of Mobipocket Reader embedded in it.

    So - open the book on Mobipocket Reader. Now find the new copy that has been created.

    Now try with that eBook instead."

    This is exactly what I did. I had been using the original ebook file I downloaded from eBookMall. Wrong.

    Going into my ebook directory, I saw that Mobipocket Reader created a NEW VERSION of my ebook file (with a later time stamp) in that directory! This one DID have my PID embedded in it.

    Using with this new file worked! I did not have to "transfer the ebook to another device and use its PID," as you said above.

  13. RR
    December 27, 2009 at 4:25 pm

    "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."

    This is exactly my problem! I can strip the DRM ok from books bought from and from Amazon Kindle books. However, when I cannot do it with a Mobipocket book I bought from eBookMall! As you said, it asks me to enter the eBookMall username and password when I first opened it in Mobipocket Reader.

    I tried all the versions of None worked. It says "no PIDs found in this file"

    I'm using my PID from the desktop version of Mobipocket Reader. I do NOT own a Kindle or have any mobile devices (like smart phones) to put my book on, so I cannot use another device's PID. I use a PC only.

    With my desktop PC's PID, I have no problems stripping DRM from books I buy from Mobipocket directly.

    What should I do?

  14. DD
    December 20, 2009 at 8:24 pm

    I have a Sony 505 and need to know how to find the PID. I've been to the about in my reader library and only get info on the program not the reader. It won't open in mobireader, at least I couldn't. Can I get help?

  15. Lai
    December 17, 2009 at 6:00 pm

    I have a Cybook Gen3, which has an easily locatable PID, and I have a macbook. At one point I had a Windows emulator, and I was able to check what it registered my Cybook's PID as, and it was the same as what the device itself is telling me, so I know that the PID is correct. However, when I try to run any of the three scripts it returns a response “no key found. maybe the PID is incorrect.” I'm not sure what to do, but I would really like to make this work so that I'm able to read the ebooks on my Mac using Stanza or Calibre, which I can't do because it says the files are locked. I'm assuming 'locked' means DRM protected.

  16. Jackie Hayes
    December 16, 2009 at 2:34 pm

    When I run the java script it says "no key found. maybe the PID is incorrect." I have not entered the PID. How is it being generated? Thank you.

  17. Donna Davis
    December 16, 2009 at 2:22 pm

    I am really confused by all the DRM stuff. I had a Cybook which supported the secure mobi, but it took a hit so I had to send it back.Bookeen refuses to honor the warranty, so I don't have that device available. Don't have a PDA or smartphone to use either.

    I cannot find a decent dedicated device to purchase to save me. My only hope is mobidedrm as far as I can tell, but from what I read I have to have my device to use it.


  18. Evan
    December 14, 2009 at 4:29 pm

    Ok, so here's the source:


    using namespace std;

    typedef boost::crc_optimal mycrc_32_type;
    typedef unsigned int uint;
    typedef unsigned char uchar;
    typedef vector SerialChars;

    //Class for implementing code originally from ""
    //By Igor Skochinsky in 2007
    //Proted by Evan Carew in 2009
    class KindlePidFinder{
    string letters, buffer, pid, chksum;
    unsigned int PidLen;
    //Setup the class' globals
    KindlePidFinder(string serial);
    //Perform a checksum on the pid
    string checksumPid();
    //Calculate the pid from the serial number
    string pidFromSerial();
    //Perform something like the standard crc32 calculation
    uint checksum(string s);

    KindlePidFinder::KindlePidFinder(string serial){
    letters = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789";
    buffer = serial;
    PidLen = 7;

    string KindlePidFinder::checksumPid(){
    mycrc_32_type result;
    uint crc = checksum(pid);
    crc = crc ^ (crc >> 16);
    string res(pid);
    uchar len = letters.length();
    for(int i = 0; i >= 8;
    return res;

    uint KindlePidFinder::checksum(string s){
    mycrc_32_type result;
    result.process_bytes(s.c_str(), s.length());
    return result.checksum();

    string KindlePidFinder::pidFromSerial(){
    SerialChars crc_chars(4), kindleNum(PidLen);
    uint res = checksum(buffer);
    res =~ res;
    for (int i = 0; i > 24 & 0xff;
    crc_chars[1] = res >> 16 & 0xff;
    crc_chars[2] = res >> 8 & 0xff;
    crc_chars[3] = res & 0xff;

    for (int i = 0; i < PidLen; ++i)
    kindleNum[i] ^= crc_chars[i & 3];

    for (int i = 0; i > 7) + ((b >> 5 & 3) ^ (b & 0x1f))];
    pid += "*";
    return pid;

    * main(int, char **)
    * Basic driver function for scripting the KindlePidFinder class
    * Requires: single argument representing the Kindle's
    * serial number. This serial number is either
    * printed on the back, or can be accessed
    * via the 411 keyboard command.
    int main(int argc, char **argv){
    if (argc != 2){
    cout << "Usage: getKindlePid \"YOURSERIALNUMHERE\"" << endl;

    string buffer = argv[1];
    KindlePidFinder kpf(buffer);
    string pid = kpf.pidFromSerial();
    pid = kpf.checksumPid();

    cout << pid << endl;

    • Evan
      December 14, 2009 at 4:30 pm

      Ok, so that didn't work out so well. Is there any way to attach docs to this post?

      • Simon Slangen
        December 15, 2009 at 7:45 am

        I recommend using if you want to share code, FileDropper to upload a file.

  19. Eric
    December 14, 2009 at 6:17 am

    That would be brilliant Evan. Thanks for doing this.

  20. Evan
    December 14, 2009 at 5:11 am

    I happen to have converted the utility over to C++ if anyone is interested. My main reason for offering to do this was one of deployment. In reading this discussion, I noticed that several of the readers had trouble installing python on their windows boxes. With the C++ version, if compiled, all one needs to do is download the single file and run it with the serial number on the command line. If this interests anyone, I can post the source.

  21. revx
    December 10, 2009 at 9:50 am

    I updated the version of included with eBookUtility so that it now supports Kindle 2 international serials, nothing changed other than that. There are no outstanding bugs that I’m aware of and I haven’t received any feature requests that I have to time to implement — one was basically asking to wrap other popular ebook scripts as well, which I may do at some point, but not right now.

    Please report any bugs you find and send any feature requests you have.

  22. Darrell
    November 29, 2009 at 2:44 pm

    Hi revx,

    I'm getting the same error message as Will, despite having the correct serial number: "cannot generate pin, invalid serial number? DRM functionality won't work."

    I've got the up-to-date Microsoft framework installed, too, so that isn't the problem. I've checked the serial using the 411 method on the settings page and on the back. I'm running Windows 7 ultimate edition and using a Kindle 2 international edition. Any ideas?



    • revx
      December 1, 2009 at 9:46 am

      My guess is that the kindlepid script doesn't properly handle Kindle 2 International serials. I haven't seen anything on this, nor have I seen an updated version of the script that handles them correctly, but I have seen a number of people with similar complaints. What is the prefix of your serial number? (i.e. B002)

      I didn't write these scripts, my program merely makes calls to them, so hopefully there is an updated version of the script out there, or it might be as easy as adding a new prefix clause to the script (if your prefix isn't B002) but I'm doubting that as I've seen other people mentioning that they can generate the PID, it just doesn't work. Will's problem above mentions that he already has a PID but that the scripts don't acknowledge it as valid.

      • Darrell
        December 1, 2009 at 9:56 am

        I figured it out but forgot to come back and post. You are correct. All it took was adding a new prefix clause to the script to account for International serials.


  23. Will
    November 6, 2009 at 4:22 pm

    Hi Simon,

    I have followed your instructions, and validated the PID of my Kindle with MobiPocket Reader 6.0 which displays the PID on the screen. I also checked it with the script going around.

    I have the dedrm files in the same folder as the ebook that I want to strip of DRM to make it readable on my Kindle.

    I have correctly accessed the folder through the command prompt, I am familiar with using this command function.

    However when I follow the instructions of your script, using Mobidedrm, or Mobidedrm002, or Mobidedrm 005, it always responds that the PID is not valid. I have tried it with these ' around the PID as you suggest, but it still says the PID is not valid.

    I can assure you that the PID is valid. I have verified it through two sources now. Do you have any other advice or is there a fault with the script(s)?

    Many thanks

  24. Tina
    November 6, 2009 at 10:21 am

    Well, it seems the question of why I am having so difficult a time with some of the books I have has been answered. I sent a file to Calibre and got this reponse back.

    "That file uses an ancient form of MOBI DRM called password DRM. Such files open automatically using mobipocket software so people think they dont have DRM, but they do."

    Not sure how it is they open on the Kindle then. Luckily some of the stores I have contacted have been kind enough to fix the books since they all told me they didn't have DRM. Two never even responded about the problem and which format I should be purchasing to read on my Mac.

  25. Erin
    October 26, 2009 at 4:26 pm

    This is the error message I'm getting: Error for C:\Documents and Settings\XXX\My Documents\My eBooks\XXX.prc Error: invalid PID checksum
    I've checked and rechecked my PID. The DRM'd book opens fine on my computer.
    At least I got past the yellow light this time. ;)

    • revx
      October 26, 2009 at 10:18 pm

      I did a quick bit of research. Is this a PID for your PC? If so, is it 10 digits long? If this is the case, try leaving off the last two digits and give the program only the first 8 digits as your PID, see what happens.

      • Brad Taylor
        October 28, 2009 at 12:36 pm


        Thank you for creating such an important and helpful tool. I want to apologize in advance if you have previously addressed this issue. Several coworkers and I frequently use Mobipocket Reader 6.2 for Windows, primarily because Mobipocket includes the AutoScroll feature. We find AutoScroll indispensable; it is enormously helpful for speed reading and becoming a faster and more efficient reader.

        Unfortunately, it appears that none of the standalone ereaders (including the Kindle) has the AutoScroll feature. Therefore, we'd like to be able to convert Kindle books for use with Mobipocket. Our intent is neither to obtain a book free nor distribute it to anyone else. We simply would like to be able to use auto scroll with books we've purchased from Amazon. Until Amazon includes auto scroll on the Kindle, this appears to be our only option.

        Can you tell us if there is a method to convert Kindle books for use with Mobipocket Reader without having a Kindle? We are all running Windows 7 desktop computers. Thanks again for your help. If you take PayPal donations for this endeavor, please let us know as we'd like to contribute.

        • revx
          October 29, 2009 at 8:59 am

          Kindle books are mobi books, plain and simple, the difference being the file extension. First strip the DRM, then rename the file to include a .prc or .mobi extension, it should then work just find with the mobipocket reader program.

        • revx
          October 29, 2009 at 4:46 pm

          I should qualify that statement, though, if the books you're dealing with are topaz (.tpz or .azw1) you're out of luck as no one has been able to strip the DRM or decode them yet.

  26. Erin
    October 26, 2009 at 2:22 pm

    Okay, I'm in using the new download. :) Now, after I enter my source and my output I get a yellow light and nothing. The threads all show idle. I'll keep playing around with it, but any tips would be appreciated!

    • revx
      October 26, 2009 at 3:40 pm


      This was my fault, some of the changes I put in caused a few bugs. It was quietly throwing a stack trace and doing nothing else. Please grab the replaced version of the 0.6 release from the post above and give it a go.

  27. revx
    October 26, 2009 at 12:49 pm

    I'm releasing the newest version of the program. I've updated the ReadMe to include in detail instructions on how to solve the Python path issue, please read it if you're having problems!


    Platform Independent:


    eBookUtility 0.6 - 10/26/2009
    - Not much new in this release, I haven't had any reports of bugs, and only one feature request.
    - NEW: Added a checkbox to allow overwriting of the source files -- many people didn't like the '-stripped' name addition, and it was easy enough to implement, so now you have it. :)
    - NEW: The DeDRM scripts provided with the utility are now 0.06 so there's no need to upgrade.

    • revx
      October 26, 2009 at 3:38 pm

      Thanks to some prompt feedback I was able to catch a severe bug in the 0.6 release and pulled it immediately.

      • Will
        November 6, 2009 at 5:10 pm

        Hi RevX

        I have downloaded the eBookUtility. I have Java and Python installed on my computer. When I double click on eBookUtility it asks for the serial number (of my Kindle, I assume).

        I enter the serial number, taken directly from the back of my Kindle, and it says that it "Cannot generate PIN. Invalid Serial Number?"

        Any advice? My Kindle is a Kindle 2 International. The Serial number is definitely correct. I even know its PID.

        Many thanks. I want to use your application to strip a Mobipocket ebook of its DRM so I can read it on my Kindle 2.

        Cheers, Will

  28. Erin
    October 26, 2009 at 10:14 am

    Thank you for the help. Unfortunately I'm still not able to get it to work. I am using Windows. I'm in the directory and it says exe jar file. I'm still getting the same error messages. I am a total noob when it comes to working with scripts and commands, so I'm sure it's something I'm doing wrong.

    I was able to use the scripts by using a working folder and a .bat file. A clunky process to be sure, but I got what I needed. Thanks again for responding!

  29. Erin
    October 25, 2009 at 5:02 pm

    I'm having a problem removing the DRM from my Mobi files. I do not have a Kindle, I just want the DRM gone from the books I've purchased on my PC.

    I downloaded eBookUtility0.5 as well as ActiveState ActivePython. Because I don't have a Kindle I created the text file as requested in the ReadMe file of eBookUtility.

    When I try to launch the .jar file I get an error "can't find properties, please enter your Kindle serial number" then it cycles through some other error messages: "no serial found, exiting, DRM functionality won't work" "python scripts are missing, DRM functionality won't work" "cannot generate PIN, invalid serial number? DRM functionality won't work" before going to a screen where I guess you enter the titles you want stripped.

    I have tested Python and it is working. What the heck am I doing wrong? Thank you!

    • revx
      October 26, 2009 at 9:09 am

      Two things:

      First, in terms of the text file, make sure it's named "ebook.props" and has no ".txt" extension, otherwise it's not going to be recognized. Also make sure that the format for the serial and pid follows that provided in the readme. This does work, others on here have used it.

      Second, it sounds like you don't have python setup in your path variable. A good way to test this is to open up a command prompt and type in python, if it says command not recognized, then you need to modify your path variable. You can do this by right clicking on "My Computer" and hitting properties. Then go to the "Advanced" tab and click the "Environment Variables" button, find the variable "Path" under "System Variables" and hit "Edit", then add a ";" at the end of the variable string followed by the directory where the python executable resides -- typically "C:\Python26" (Don't include the quotes when adding to this variable) -- which seems to be the same for regular python (as downloaded from or activestate python.

    • revx
      October 26, 2009 at 9:16 am

      Woops, scratch the first comment, I think I know what's going on. You're launching the jar by clicking on it, yes? Odds are the working directory isn't be set correctly. I'm assuming you're using windows here, so please download the windows version which provides an exe version instead of a .jar verison. It's still a jar, just wrapped in an exe which takes care of finding the correct version of java and setting the working directory, etc. If you aren't using windows, make sure you are in the directory where the jar resides when you launch it via a java command.

  30. joy
    October 24, 2009 at 4:47 am


    I have .PDC file downloaded (protected pdf (by DRM) done by locklizard software)
    How can i remove DRM from .PDC files (pdf files) ?
    Any code or command that can be used?


  31. del4
    October 23, 2009 at 10:45 pm

    This works great for most of my DRM titles (about 75), but there are about a dozen or so that it fails on. The script doesn't indicate an error and just says the usual "Decrypting. Please wait... done", but when I try to open the resulting .prc file in the Reader app, I get an "Error: File corrupted" message... Any ideas or thoughts I can try? I know it's nothing with the filename because I'm using the same command-line command for all of the .prc files, simply cutting and pasting the names back afterward...

    • del4
      October 23, 2009 at 10:59 pm

      Doh, never mind! Looks like I needed to use v0.02 of the script for these specific files for some reason. Both v0.01 and v0.05 resulted in corrupted files, but v0.02 works just great...

      Thanks again for this great writeup. Took care of my .lit purchases awhile ago, so now I just need to find something to handle my .pdb eReader books...

  32. stuck
    October 23, 2009 at 1:45 pm

    OMG!!! I LOVE YOU GUYS!!!! It worked. whew....thank you, kat and revx. you 2 rock!!!!

  33. stuck
    October 23, 2009 at 1:30 pm

    I feel like a big freakin' handitard! I'm actually pretty smart, believe it or not. This stuff is just wonky to me...I really appreciate everyone's patience and help. I'll keep working on it.

  34. stuck
    October 23, 2009 at 1:24 pm

    I get syntax error

  35. stuck
    October 23, 2009 at 1:06 pm

    I downloaded it but I still can't figure it out. I'm ready to give up

    • revx
      October 23, 2009 at 1:09 pm


      You can give it a shot with my utility, it makes a graphical, easier process -- you'll need Java installed if you haven't got it already (odds are you do) -- you can get my program from here, just launch the .jar file and give it a go.

    • Kat
      October 23, 2009 at 1:19 pm

      Where are you getting stuck? are you getting any kind of error message? It took me awhile too, don't give up! This is exactly what I did. I opened terminal, typed in cd/ and dragged the folder with my mobidedrm scripts on to terminal. Making sure there is a space between the /. Also make sure you put all the books you want to strip in that same folder.

      Let me know how that goes

  36. stuck
    October 23, 2009 at 12:48 pm

    sorry, just got home. I have the PID and located terminal. On another site, it said that python is already on macs so there wasn't a need to download this correct? I also tried to do this from a windows laptop but gave up after getting the PID.

    • Kat
      October 23, 2009 at 12:59 pm

      python is already on terminal but you still need mobidedrm downloaded. They are the python scripts that are used to remove the DRM. What I did was download them and put them in a separate file on my desktop (to make it easier for me) Once you download the scripts, it should work fine.

  37. Stuck
    October 23, 2009 at 12:16 pm

    Kindle 2 now but am changing to a Sony

    • Kat
      October 23, 2009 at 12:28 pm

      Do you have the PID? Did you download the python scripts? Did you locate terminal on your mac?

  38. Stuck
    October 23, 2009 at 11:58 am

    At the beginning. Lol. I need step by step instructions...please.

    • Kat
      October 23, 2009 at 12:09 pm

      Do you have all the python scripts downloaded? Did you locate terminal?

    • Kat
      October 23, 2009 at 12:09 pm

      also what kind of ereader do you have?

  39. Kat
    October 23, 2009 at 11:24 am

    Where are you stuck?

  40. stuck
    October 23, 2009 at 11:19 am

    I can't get this to work at all. can someone please help me? I am trying to do azw books and i am on a mac.

  41. Ken
    October 22, 2009 at 5:14 pm

    I am following all your suggestions to remove the drm. I am running vista and have retrieved my PID. When I run the mobidedrm scripts I get a message that says:

    err no 13 permission denied "'ion contained here and was hoping that you had another suggestion for me. Thank you,Ken

    I have tried all the suggest

    • revx
      October 23, 2009 at 7:53 am

      This sounds like it is most likely a Vista permissions issue, UAC can be a pain -- I just disable it on my Vista/Win7 machines. One way to get around this is to open up the command prompt window you're working in as an administrator, thereby lifting the UAC limitations. To do this right click on the command prompt icon and hit run as administrator, then proceed to use the dedrm scripts normally and see if that has solved your issue.

      • Ken
        October 23, 2009 at 12:20 pm

        Thank You, revx your suggestion to run under administrator worked perfectly. Ken

  42. Tina
    October 20, 2009 at 9:06 pm

    Still haven't been able to strip any of the books that are .PRC that I purchased from online bookstores. These files can be read on my Kindle or in Mobipocket Reader, but not in Stanza or the reader in Calibre. When checking the properties in Mobipocket, it shows that they are "Content Encrypted". They are NOT encrypted to a specific device however. I am only interested in stripping them so a) I can fix the metadata that is all screwed up and b) so I can read them in Stanza because I use a Mac and do not like switching to PC mode in order to use Mobipocket Reader.

    How do I strip them when they don't require a PID?

    • revx
      October 21, 2009 at 1:27 pm

      Can you open the file in Mobipocket Creator? If so, in the publishing folder I believe it stores a raw html file of the PRC -- I've used this to get around some bad formatting and metadata before.

      • Tina
        October 23, 2009 at 3:01 pm

        I have Mobipocket Creator, but I don't know how to open a PRC file in that program.

  43. Bookworm
    October 20, 2009 at 7:08 am

    Installed Python and Simon's scripts, etc on WinXP and can report some, but not flawless, success. Often I get "invalid PID checksum" error messages when I know that I only have two PIDs and neither seems to work. I will try installing another ebook reader as a device (in order to generate a third PID) and report further.

    I'm running WinXP and using MobiPocket Reader to buy/download mobi .prc files to read on an Iliad ERO100 eReader. I also have a Sony PRS500 (but haven't tried reading .prc files on that - not sure if you can?)

    Also installed revx's GUI Utility. As I don't have a Kindle I've got the require ebook.props file but having the same problem - the PID is seen as invalid and thus won't allow conversion. I also can't get the program to recognise that Python is installed when it clearly is.

    Kudos - and thanks - to you both for your work on this. If there's any future development to the Utility, it would be good to fix this "python not detected" thing.

    • revx
      October 20, 2009 at 12:03 pm

      Just because you have python installed doesn't mean it has a correct association setup, make sure you have the python directory in your system's path variable. A good way to test this is to open up a command prompt window and then type in python, if it's unrecognized, you don't have your path variable setup correctly.

      In terms of your PID, I've heard of other people having issues with getting a book stripped with the DeDRM scripts depending on where the books were purchased from. All the script is telling you is that the PID provided doesn't match up. It can't do anything other than that.

  44. Tina
    September 29, 2009 at 1:21 pm

    Does anyone know if there is a way to remove DRM from .tpz books. Have gotten it to work on .azw but not my .prc (ones that aren't assigned to a specific PID but can't be read in Stanza because of DRM).

    • revx
      September 29, 2009 at 1:29 pm

      As far as I'm aware topaz encryption is entirely separate from the mobi encryption used in prc and azw files and it has not been broken yet. As far as your comment above, I'm fairly certain the scripts work with prc's as that's just standard mobi, you'd do well to make sure you have the most up to date version of the dedrm scripts though, with the latest community patches I think they are up to version 0.06

  45. Tina
    September 29, 2009 at 11:50 am

    I finally got it to work with .azw books, but haven't got it to work yet with .prc books (they aren't coded to a particular PID). What about .tpz books (I have three of those)?

  46. Chris
    September 10, 2009 at 8:13 pm

    I just couldn't get this to work. It kept telling me either invalid file format or invalid PID.
    Any suggestions?

    • Simon Slangen
      September 18, 2009 at 2:26 pm

      Have you tried revx's releases? They seem to work like a charm!

  47. Craig
    September 6, 2009 at 5:28 am

    @RevX, I was wondering if your GUI interface can work with devices other than the Kindle? I have a BeBook that I would love to use this interface with. Being in Australia you can't even buy a Kindle here!! Thanks

    • revx
      September 8, 2009 at 9:35 pm

      Craig, if you look in the readme.txt file it gives directions on how to use the program without a kindle. It's pretty easy to do. :)

    • Eric
      September 18, 2009 at 1:04 pm

      Craig - I use it with my bebook. No problems at all. If you mail me with a pm I can send you a step by step.

  48. robert
    September 5, 2009 at 5:07 am

    ok finaly it did work well with the 005 version of mobidedrm

    I just had to wait 40 minutes, probably because it is a big file.

  49. robert
    September 5, 2009 at 4:27 am


    I tried and it worked for a normal book.

    then I tried to buy this dictionnary :

    and I'am stuck with "Decrypting. please wait ..." for 30 minutes and nothing happen.

    Shall I wait longer ?

    I tried the three decoder for the same result

    any ideas ?

  50. Rae H
    September 4, 2009 at 12:47 am

    I do believe my laptop hates me because every time I type the file path, I get the "path does not exist..." What am I doing wrong?

    • Simon Slangen
      September 18, 2009 at 2:24 pm

      Are you sure you're using the correct file path?

    • lee
      January 6, 2010 at 5:03 am

      I'm having a similar problem, it tells me it cannot find the specified path.

  51. pdurrant
    August 31, 2009 at 3:11 pm

    The version of MobiDeDRM 0.05 included in the download is faulty. The lines

    if checksumPid(pid[0:-2]) != pid:
    raise DrmException("invalid PID checksum")
    pid = pid[0:-2]

    have been duplicated, so the script never accepts a PID as valid. Just remove the duplication and all should be well.

  52. revx
    August 29, 2009 at 2:34 pm

    I'm releasing a new version of eBookUtility with a serious bug fix which prevented the program from decrypting entire directories correctly. (Thanks to all who provided feed back) It also fixes a number of other minor bugs, such as correctly reporting when it can't find python. The next version (0.5) will have more advanced threading and concurrency controls.

    You can get the bug fixed version of (0.4a) at

  53. Linkers09
    August 28, 2009 at 3:11 am

    ( best hd video converter

  54. ascherjim
    August 27, 2009 at 8:23 pm

    Revx: With perseverance I finally, once again, got it to work. Instead of using "" as I had always successfully done previously, I instead removed the "002" and simply used "". Why this should have worked in this instance, I again have no idea. Regards, Jim

  55. ascherjim
    August 27, 2009 at 6:40 pm

    Revx: On July 20 I posted the following message:

    "Simon: I’ve converted a number of titles with success using your recommended command line, but with some recent titles I get the following error message: “String Index Out Of Range”

    Does this mean anything to you? Thanks. Jim"

    I then followed it up a day later with the following:

    "...I was finally able to remove the DRM from the recalcitrant titles by copying the titles from an alternate source on my hard-drive. Don’t ask me to explain why this made a difference, and I don’t expect you to risk hazarding an opinion also. The important thing is that it worked! Many thanks, Jim"

    Well, after having successfully converted many more titles in the interim, using exactly the same methodology, the former error message of “String Index Out Of Range” has reared its ugly head again, and this time I'm not able to resolve the problem. What exactly does that error message mean, and what if anything can I do about it? Many thanks, Jim

  56. Eric
    August 24, 2009 at 9:31 am

    Hi Guys. I have a whole library of DRM mobipocket books which I read on my BeBook. In their next release of software, endless ideas is removing mobipocket drm support for some reason. I'd like to be able to take the firmware update for other reasons, but don't want to lose my mobipocket library. Is there a batch removal tool available? It would take an age to individually remove the drm from each prc book and I'd be grateful for a batch method if you know of one.

    • revx
      August 26, 2009 at 9:24 am


      That's exactly what the tool I've been developing can do, right now it supports stripping DRM from prc and azw files, it was made with the kindle in mind, but if you check the readme file it gives directions on how to get it working without a kindle serial. (Be aware there's a typo in the readme, it should say "ebook.props") You can find the tool here. Another place I post and answer questions about the tool at is here.

      This is a nice, batch-capable GUI wrapper for the mobidedrm scripts, so you still need Python installed still.

      Hope this helps.

      • Eric
        August 26, 2009 at 10:47 am

        Brilliant! Thanks a lot for this. It will save me ages and preserve my library. As you can imagine, I was a bit gutted to think that I'd lose my library if I didn't buy yet another ebook.

        Thanks once again.

        • Eric
          August 26, 2009 at 12:11 pm

          Tried and failed I'm afraid. I ran the program from the eBook utility folder after creating the id file. (I put the folder in my python directory). I set my input directory; set my output directory and I got one yellow light then nothing. My output directory is empty.

          I can't find any other step by step instructions. Sorry for my ignorance - What am I doing wrong.

        • revx
          August 26, 2009 at 12:55 pm

          Did the output box show anything? If it's still showing a yellow light and it didn't try to process anything it sounds like it isn't finding any .prc or .azw files in your source directory.

        • Eric
          August 26, 2009 at 4:12 pm

          I'm afraid it goes yellow, then green, but nothing happens and the outbox folder remains empty. There are 56 books in the input folder. Is this too many? Could you possibly mail a step-by-step and I will set up again and make sure I'm doing it right. I am running Vista on a quad core, so it should process reasonably fast?

          Thanks again for the help.

        • revx
          August 26, 2009 at 4:53 pm

          Sure, if you want to post your email I'll get in touch with you about it. In the mean time, try selecting one individual file and see what it does, it's possible it's a bug, but I'd like to get some more details so I can look into fixing it, if so. I ran a test case on my development box with the 0.4 release and a folder with 96 files and it worked fine, so I'm leaning towards something acting wonky on the requirements end (i.e. java or python).

        • Eric
          August 27, 2009 at 9:29 am

          Single did not work either. I am and I'd appreciate any step bty step help you can give me if you have the time.


  57. Eric
    August 24, 2009 at 9:29 am

    I have a whole library of DRM mobipocket books which I read on my BeBook. In their next release of software, endless ideas is removing mobipocket drm support for some reason. I'd like to be able to take the firmware update for other reasons, but don't want to lose my mobipocket library. Is there a batch removal tool available? It would take an age to individually remove the drm from each prc book and I'd be grateful for a batch method if you know of one.

  58. Rich Knack
    August 20, 2009 at 7:06 pm

    My reader is old and unsupported: a REB 1100, that uses the .rb format. I have Calibre, which can convert other formats to .rb (and vice-versa), but I want to be able to strip the DRM from legally purchased e-books, so I CAN do the conversion and use them on my reader. I don't know how to access the PID of my reader. How do I go about accomplishing my goal?

  59. Kimberley
    August 19, 2009 at 11:54 pm

    I am having trouble with the path to my ebooks its not working

  60. Michelle
    August 11, 2009 at 8:33 pm

    Hi, I have been working on this for days- Just trying to read a mobi book I purchased on my Sony reader. I'm sure there is something simple I am doing wrong but can't get beyond the Dark Reverser text and the words:

    mobiderm PID.

    Here is what I'm entering: ( my ebook is called duchess) duchess.prc outfile.prc 'JKIOUH$UH' (I made up this PID as an example)

    I have a saved txt file called duchess with the script of duchess.prc outfile.prc JKIOUH$UH inside. I have saved the files to this folder and the ebook.

    Is my script correct? I have also tried adding python in front of modidedrm... example: python duchess.prc outfile.prc 'JKIOUH$UH'

    Any help appreciate.


    • Simon Slangen
      September 18, 2009 at 2:20 pm

      Have you tried putting those lines through a command prompt?

  61. revx
    July 30, 2009 at 9:53 pm

    Just thought I'd drop a line to those interested, I made an easy, GUI, batch-capable wrapper for the mobidedrm python scripts. Nothing fancy, but it's got its uses. This version has an exe wrapper and is pretty windows specific but if anyone wants it for a *nix platform I can put out a platform independent jar.

    • Tina
      August 16, 2009 at 9:47 am


      I downloaded your ebookUtility, but haven't been able to get it to work. When I start it I get the message "This application has failed to start because MSVCR7.dll was not found. Reinstalling the application may fix this problem" (doesn't) and then it asks for the Kindle Serial number (found that on the back of the Kindle) but when entered I get "Cannot Generate Pin, invalid Serial Number? DRM Functionality won't work."

      Any ideas what I should do or am doing wrong?

      • revx
        August 19, 2009 at 2:33 pm

        I believe you need to install the .net framework pack, you could simply download that dll by itself, but using the link below and downloading the install pack will be cleaner.

        Microsoft .NET Framework Version 2.0 Redistributable Package (x86)

        Another way to get your kindle serial number is to go to the settings screen and type 411 on the keypad, that'll bring up an information page with, among other things, your serial number. Once you've installed the .NET package, hopefully the pin generating will work. Also, please download the latest version of ebook utility which can be found here

        You can always find the latest version of ebook utility as well as ask questions here

  62. joy
    July 22, 2009 at 6:52 am

    I downloaded the PDC file - pdf file locked by DRM and now I am not able to open it on other machine .
    How can i remove the DRM so i can read pdf.


    • Simon Slangen
      July 22, 2009 at 10:06 am

      Although I've got no experience with PDC's, a Google querie turns coughs up some applications that might be of use.

  63. byrnz
    July 21, 2009 at 6:15 am

    Hi Simon,

    I've tried following the instructions above, and keep getting an error "Error: invalid encryption type: 0". This is my first foray into anything to do with the command line, so do you have any suggestions??

    Thanks, Bailey

    • Simon Slangen
      July 22, 2009 at 10:11 am

      You should be able to read them without stripping it of any encryption. Try renaming the file to or filename.prc.

      If not (especially if they've got a .TPZ or .AZW1 file extension -- these are nearly always encrypted), the DRM cannot be removed.

  64. ascherjim
    July 20, 2009 at 12:06 pm

    Simon: I've converted a number of titles with success using your recommended command line, but with some recent titles I get the following error message: "String Index Out Of Range"

    Does this mean anything to you? Thanks. Jim

    • Simon Slangen
      July 20, 2009 at 6:06 pm

      Have you tried using one of the other version scripts? That solves the problem most of the time.

      • Jim Ascher
        July 21, 2009 at 7:29 pm

        Simon: It took me a few days to realize that the email alert to your response wasn't spam. Sorry for the delay in getting back to you. I was finally able to remove the DRM from the recalcitrant titles by copying the titles from an alternate source on my hard-drive. Don't ask me to explain why this made a difference, and I don't expect you to risk hazarding an opinion also. The important thing is that it worked! Many thanks, Jim

      • Ryan
        December 17, 2009 at 1:19 am didn't work but did.

        python in.prc out.prc PID#

        Thank you so much! I was able to get Robert Heinlein's "Stranger in a Strange Land" on my Kindle! :)

  65. ascherjim
    July 17, 2009 at 11:51 am

    Simon: I'll be trying out your excellent instructions for the first time, trying to remove the DRM from my purchased Mobibook (Joyce's Ulysses"), but am a bit confused by the folliwng aspect of your instructions:

    "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"

    Although using Windows XP in this regard, in past years I have worked my way about Linux and am fairly familiar with command line use. However, even though you give an example, I still don't know exactly what specifically to substitute in the command. Can you elaborate a bit further? Many thanks.

    • ascherjim
      July 17, 2009 at 2:55 pm

      Trying further with my Linux knowledge assisting, I figured out how to insert the correct values in the command line order to get it to work -- but even then this was only possible with the above further instruction to remove the initial "python" designation in the command line. Many thanks for this excellent tutorial.

  66. Uwe Brauer
    July 17, 2009 at 10:03 am


    I retried it again reinstalled everyting the first 2 scripts give the error
    invalid encryption type and the last one wrong PID


    • Simon Slangen
      July 17, 2009 at 10:13 am

      Easiest way to solve this is to team it up with a different device, thus getting a different PID.

      • Uwe Brauer
        July 17, 2009 at 10:31 am

        Hi, these devices will be PC with XP, since the program does not run on a handheld.
        SO you mean to repeat the entire process on a different PC, installing the dict program python etc?

        Couldn't it be that this ebook a dictionary is encrypted with a different alg?

        • Simon Slangen
          July 22, 2009 at 10:02 am

          The most probable reason is that the ebook is paired with a PID different from that of your computer (it'll still open there because the password matches, or...)

          When copying the ebook to a different device (other PC, mobile), the ebook encryption is 'changed' to work with that device's PID. From that point on, you can be definitely sure you're using the correct PID.

          If it still wouldn't work, maybe the encryption has been changed (although that chance is a lot less likely, near nil).

  67. Uwe Brauer
    July 17, 2009 at 9:49 am

    Problems with the PID seems not correct.

    Here is what I do:
    I obtained an electronic dictionary in mobi format which I read with the mobireader.
    I copied the .mobi file into the folder where the scripts
    are and renamed it. Not sure whether this is such a smart idea.
    Looking up the PID the way you described
    I obtain
    C2BBJBX$U8 I presume this symbol between X and U is a dollar sign?
    In any case when I run the script I obtain invalid checksum.

    not sure what to do, any ideas?


    In any case all of the py sc

  68. Justn Angel
    July 12, 2009 at 8:37 pm

    Thanks! This was exactly what I was looking for.

    I just bought a secure mobipocket and wanted to use it on a machine (open inkpot) that doesn't support DRM. Excellent solution all around. And a wonderful walkthrough for sure.

    Way to go mate,
    -- Justin

  69. Michael
    July 11, 2009 at 1:39 am

    I don't wish to remove DRM from music files. Al I want to do is remove DRM from one mMobi Book.


  70. Waynett
    July 10, 2009 at 9:58 pm

    Daniusoft Media Converter( ) software can remove DRM from protected wmv, wma, m4p, m4v, m4a, aac files that purchased and downloaded from online music store and convert to general video and audio formats, you can enjoy playing on portable media players, such as iPod, Zune, Creative Zen, MP3 player, PSP.

  71. Waynett
    July 10, 2009 at 9:59 pm

    Daniusoft Media Converter software can remove DRM from protected wmv, wma, m4p, m4v, m4a, aac files that purchased and downloaded from online music store and convert to general video and audio formats, you can enjoy playing on portable media players, such as iPod, Zune, Creative Zen, MP3 player, PSP.

  72. Michael
    July 8, 2009 at 8:34 am

    Hi, got just one book I need to remove drm from. Followed your instructions. Running Visa all I got was, Python is not recognized as an internal or externalcommand, operable program or batch file.

    Can you help. I am a virgin when it comes to using the command line so please dont assume prior knowladge.

    Regards michael

    • Simon Slangen
      July 11, 2009 at 3:24 pm

      Make sure you've got wxpython installed, this is needed to execute python scripts.

      Furthermore, if the 'python' command does not work on your computer, try to disclude it.
      python PID will become simply PID.

      Explanation: because your computer doesn't listen, you stop telling it it's a 'python' script - instead you just tell it to open 'the' file / run 'the' script.

      • Michael
        July 12, 2009 at 12:25 pm

        Thanks for your help Simon. Worked a treat, after a few problems with long filenames. But re nameing the file worked.

        regards Michael

  73. Sohail
    July 6, 2009 at 11:38 am


    Thanks for providing this info. I've followed all the steps you mentioned. Unfortunately, I'm having problems running python on my machine. I keep getting 'python is not a recognized internal command...' I've followed all the steps you mentioned. Any suggestions would be greatly appreciated.

    • RF_Guy
      September 30, 2009 at 1:54 pm

      Just copy scripts and the books to python install directory (c:\Python26 in my case) and run cmd prompt from there.

  74. Kathy L
    June 29, 2009 at 10:13 am

    I've tried this with both versions but I keep getting a invalid PID checksum (using a Mac) It's the right one. I've tried with quotes too. Any suggestions?

    • Simon Slangen
      June 29, 2009 at 7:21 pm

      My suggestion would be to transfer it to a portable device (e.g. Palm/Win Mobile/...) and use that PID.

  75. Tina S.
    June 26, 2009 at 4:47 pm

    I have a bunch of ebooks in PRC format that don't require a PID for my Kindle in order to read, but I would like to remove the DRM so that I can edit the Metadata using Calibre. I have many books where the Title is poorly formatted or the Author's name doesn't show up on my device. Can this script be used to remove the DRM for this purpose. Since I am using a Mac I'm not sure how to get my PID for the Kindle.

    • Simon Slangen
      June 26, 2009 at 7:03 pm

      This ought to be well possible.

      To the extent of my knowledge, you have two possible ways to handle this.

      1) Team up your Kindle with MobiPocket software. Because you're a Mac user, you'll have to use a friend's computer, or emulation software.

      2) Calculate your PID using your Kindle's serial number - people figured this one out when Kindle PIDs were still 'well-hidden'. This script should do the job. Like the one's above, this is a Python script, so it runs on multiple platforms and requires the same apps installed.

  76. Tom Bates
    June 22, 2009 at 3:06 am

    @Gary: I think when installing reader software on a computer, and certainly a device like a phone or pda, you can retrieve the PID from the program ('about' menu on symbian devices), then tell the control panel of where ever you bought the book this PID, then download the file and use the PID... off you go!

    My own question - I've got my PID, run the two earlier scripts (latest didn't work)... the script seems to start, and it creates a file, but then my CPU spikes and hold there until eventually I abort the script. The created file is DRM free but seems to be empty. I'm trying to decrypt a dictionary, so it might be too complex?

    • Simon Slangen
      June 22, 2009 at 12:54 pm

      A more complex document should only affect the duration of the conversion, not kill the process.

      Are you getting any messages in the terminal window?

      If not, I'd try to let it run for a while longer, perhaps while you don't need the computer for a time.

  77. Gary Hartstein
    June 22, 2009 at 1:33 am

    Hi. This is great. Just bought a book as a prc. I use an intel mac with brand new sony PRS 505. I dont have windows installed on the mac. How do i get a PID for this machine in order to use the terminal tool to remove the DRM from what is MY file (paid for and all!)?

    Thanks for the help.

    • Simon Slangen
      June 22, 2009 at 12:49 pm


      a) You downloaded the eBook with a specific PID, which makes that the one you'll have to use.

      b) You did not ~, in which case you'll have to copy it to another (supported) device first, and use that PID.

Leave a Reply

Your email address will not be published. Required fields are marked *