help mobileread forum thread

For help and exchange of experience about fileopen and the script I recommend you to ask questions in the ‘authorized fileopen drm pdf removal’ thread under


The advantage is that you don’t have to search in all the comments for what you want to know. Just ask a question and another forum member (or myself) will answer the it.


FileOpen and APS PDF DRM removal

Fileopen and APS PDF DRM Removal Script

The project (latest script version: ineptpdf 8.4.51) has cost me a lot of nerves, caffeine and my (non-grey) hairs. It took me over 400 hours of hardcore reverse engineering and a lot of trial and error to get it right. Meanwhile my friends were hanging out on the beach, drinking cocktails and getting serious with the chicks. On the other hand, now they are getting accustomed with BP sponsored oil (*hehe*).

The FileOpen support has been added to the existing ADEPT PDF DRM scripts from I♥Cabbages ( click ) so I didn’t have to get serious with the PDF interals (at least not more than needed). It has the same requirements (Python version, PyCrypto, …) as the original script so with Python-related problems you might check out his site, too. Of course the script decrypts ADEPT PDFs (used in Adobe Digital Editions) as well. In that case you need the ineptkey script to get the key file (adeptkey.der). More information on that topic can be found at the specific mobileread forum discussion thread.

The FileOpen plugin is a privacy killer. It checks your network address, your harddisk id, your cpu id, your username, your hostname, when you open and close your document and how many times you already have printed it. Despite the information on their website it doesn’t support AES  (at least as far as I have seen). And yes, these methods may remind you of dystopian alternative realities like 1984 or Brave New World (you might want to check out the little story at click ).

You might want to check out the ‘FAQS’ and ‘bug report’ sections for more information.

As for the preachy part: Don’t use it to make illegal copies.

I’m not getting paid for writing the script and of course it is under the GPL. Nevertheless, if you want to help to create more freedom in the Web, it would be a nice gesture to donate a few (symbolic) bucks to organizations like your local Pirate Party (Pirate Party International (harrrrrrr – I want to meet a local pirate)), the EFF (EFF donation site) or, of course, myself => 😉 (BitCoin address: 1HRnjahgD3Tb7AHEjjUuf79mwtqKYTuUFg ) Even a very small donation will help to create more freedom and privacy in the web (legal disclaimer: I’m not related to these organizations in any way nor do I profit from donations).

If you send me proof of your donation (email can be found in the ‘about’-section) I might think about getting a Linux version running as well.

proven donations until now: (EFF: 1 (100 USD/0 Euro), Pirates Party: 0 (0 Euro), Myself 0 (0 Euro)

Thanks to all donors. 🙂

Known limitations:

  • no support for old fileopen encryption (haven’t seen such files for a long time)
  • password window sometimes doesn’t close itself
  • no Linux support (yet)
  • no Mac support (refers only to the FileOpen functionality,  ADEPT and Adobe Policy Server works fine)
  • Adobe (Reader) X may not work – read the FAQs for more information

If you think you have found a bug (script didn’t decrypt the pdf) check out the ‘faqs’ section carefully and study the information in the ‘bug report’ section.


Download: (due to DMCA concerns no direct download link available)


FileOpen ineptpdf Twitter list

For update information (and everything else) about the script you can subscribe to my new ineptpdf  Twitter list:



Bug Reports: How to proceed with a non-decryptable FileOpen pdf

If you aren’t able to decrypt a FileOpen pdf do the following:

At first check if it is really a FileOpen pdf. If it is an ADEPT pdf (which opens in your Adobe Digital Editions or your e-book reader) you should get support in the special mobileread forum or I love cabbages blog (links can be found above). No direct ADEPT pdf support can be found on this blog.

Get the newest script version and read the FAQs for deeper information (email address can be found in the ‘about’-section).

In most cases you need to use the script on the same hardware you registered/downloaded your FileOpen pdf earlier. You have to check it with Adobe Reader + Fileopen first (does the pdf open?). If the official Adobe Reader + FileOpen Plugin don’t open the document with your hardware configuration the script won’t do either. In that case there is nothing the script can do about it.

The script supporting many kinds of user/session cookie encryption. As I don’t have such files there still might be some combinations which aren’t working.

Despite these restrictions, if you’re sure the fault is on the script’s side follow the following steps:

Check the ineptpdf debug option (make sure the current directory is writable) and send me the textfile (ineptpdf-version-debug.txt) + the not working pdf in a zip or rar file.

The name of the zip or rar archive should be the name you used in your email (e.g. if your email is franky@something.com you should name your archive franky.zip or franky.rar).

If the archive file is bigger than 10 mbytes (hotmail only supports attachments up to 10 mbytes) pack it with a password, attach it to one o f the free file sharing websites (rapidshare.com, …) and send me the link + password.

Under no circumstances  post a pdf file link in the comments. Everybody has access to it.

I’m not sharing your privately sent pdfs. Still, it’s perfectly fine if you don’t send the pdf but I most probably won’t find the problem without a real life pdf example.

Update: At the moment I have a lot of things to do so I probably can not answer your email requests ASAP. So don’t expect a direct fast answer. I will try to fix bugs with the next release (in my rare spare time).

Especially to those (rare) guys who were adamant that I owe them a quick fix (and it’s somehow my fault that it doesn’t work the way they thought), think again.

I’m aware that those guys exists in the Internet but I’m still somehow p*ssed off by such a behavior. Before getting impolite you might take a look into the script for yourself.


Short FAQ

Some Frequently Asked Questions:

– Where do I get the required Python, PyCrypto and PyWin software to run the script?

To run this program install:
* Python 2.7 from http://www.python.org/download/
* PyCrypto from http://www.voidspace.org.uk/python/modules.shtml#pycrypto
* PyWin Extension (Win32API module) from # http://sourceforge.net/projects/pywin32/files/

Make sure to install Python 2.7. It’s highly recommended to use the 32-Bit Python Windows versions (even with a 64-bit Windows system). Don’t forget to download the right versions for PyCrypto and PyWin (in that case the 2.7 versions)

– I have Adobe (Acrobat/Reader) X and it doesn’t work – what do to?

Adobe X has a protected mode which writes registry entries and files to a secure archive instead on the file system. Some had a success by disabling the protected mode. If that doesn’t work use Adobe Acrobat/Reader 9. Open the file at least one time before using the script (otherwise the necessary files won’t be written on the harddisk).

– I only have a Linux PC and/or a Mac. Does the script work for these, too?

The script works for ADEPT e-book pdfs (the ones you can only read in Adobe Digital Editions) on all platforms. FileOpen support works at the moment only for  Windows computers. Linux may be working in the future (if there will be more donations). Update: I thought about the Mac support. I still don’t like Steve Jobs (I think he’s an arrogant a**) but why should Mac users suffer from their master’s egomaniac outburst. If I get some money I will buy IDA Pro for Linux and Mac (so far no way to debug it on these machines). Anyway, the ‘donation restriction’ is still in place (and no donations so far).

Let me make it clear: The script works fine for the Mac with the ADEPT encryption (like in Adobe Digital Editions). The restriction only refers to the FileOpen functionality.

I have problems with the decryption – what can I do?

Make sure you read the ‘Bug Report Blog Section’ very thoroughly.

I have a password protected FileOpen PDF. Can I open it without the password?

The FileOpen plugin gets the decryption key from the server. Your only chance is to find the key with a brute force attack. If you got a V1 FileOpen PDF (40 Bits key) you might go through it with a fast computer or a gpu. For that you need a fast programming language (like C/C++) and/or a GPU support (like CUDA). You have to write the program code yourself, of course. For V2 FileOpen PDFs (128 Bit) there is no chance of finding the key in a reasonable time. Short and simple: Most of the time – without the User/Password/Session-Key – you can’t decrypt the PDF – even with the script.

Where’s the download link, damn it?!

No direct download link available but google is very skilled in finding it.

What’s a FileOpen DRM anyway?

If you don’t know it you probably won’t need it. Maybe a quick Google search will help your brain to get more knowledge. 😉

Why is it called a ‘hybrid script’?

IneptPDF (8.0 or higher) does support ADEPT and FileOpen PDFs

Where can I get ‘support’ and deeper information about the whole script, Python installation, …?

Check out Mobileread FileOpen discussion or Mobileread ADEPT discussion (for Python, PyCrypto, … help) and of course i♥cabbages original script site ( i♥cabbages has nothing to do with the FileOpen script improvements)


FYI: New FileOpen Plugin version released

Apparently there is a new FileOpen Plugin version. So far it’s only available for Windows and I know of no practical publisher`s implementation.

If that will change I will have to get into it.

We’ll see about that when/if it will happen. 😉




Update to 8.4.51: automatic APS offline key retrieval

Adobe and the referencing companies got wind of this little script. So they circle through the keys faster than Paris Hilton through her shoes. 😉

Neisklar and 80ka80 wrote some nice scripts to retrieve the keys (thanks so far for the effort). I adopted and modified it and included it in this update.

APS support is still experimental and the key retrieval only works for one major (German) publisher but the keystones are set and I think it’s possible to transfer it to all other companies.

The script update has one disadvantage: If you got an APS pdf and they change the key afterwards you can’t decrypt it (the script always gets the newest key). As you’re using a library system anyway you can just redownload it use the script faster. Anyway that problem will be addressed later.


2010 in review

The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:

Healthy blog!

The Blog-Health-o-Meter™ reads Wow.

Crunchy numbers

Featured image

A helper monkey made this abstract painting, inspired by your stats.

About 3 million people visit the Taj Mahal every year. This blog was viewed about 33,000 times in 2010. If it were the Taj Mahal, it would take about 4 days for that many people to see it.


In 2010, there were 60 new posts, not bad for the first year! There were 2 pictures uploaded, taking up a total of 17kb.

The busiest day of the year was November 4th with 365 views. The most popular post that day was FileOpen PDF DRM removal.

Where did they come from?

The top referring sites in 2010 were cs.cmu.edu, mobileread.com, locklizard.com, apprenticealf.wordpress.com, and boerse.bz.

Some visitors came searching, mostly for ineptpdf, tetrachroma, ineptpdf 8.4.28, ineptpdf 8.4, and ineptpdf 8.4.30.

Attractions in 2010

These are the posts and pages that got the most views in 2010.


FileOpen PDF DRM removal August 2010


Upgrade to ineptpdf 8.3.1: bug fix for the “specified key file does not exist” error June 2010


Short FAQ June 2010


Update to 8.4.48: improved tolerance for false file/registry entries November 2010


Update to 8.4.50: New APS-Onleihe Offlinekey and better error messages

If you are member of the rare “Onleihe community” you might want to check out this special update. Additionally there are better error messages (at least sort of ^^).

Make sure you don’t get the beta version of 8.4.50 (as marked in the comments).


Background information: Mac (and Linux) support

Recently I had some positive experience with Mac users so I consider implementing Mac (and Linux) support in the future. And there will be a merging with Apprentice Alf’s improvements (ineptpdf 7.6) so it will be at least usable with ADEPT systems (Adobe Digital Editions). In fact Mac works (for ADE) already if you have pycrypto installed.

The problem with Linux and Mac support is that I need IDA Pro (6.0) for Linux and Mac so it will probably take me a while to save the additional money (both cost at least 419 Euro). Btw. this is not a request for donations but rather an explanation about the stones which can be found in a reverser’s way. 😉

I’ll keep you informed.



Update to 8.4.49: some small improvements

An update I wanted to post for a few days.

FYI: Not much spare time for me so I probably won’t  answer you immediately.


Update to 8.4.48: improved tolerance for false file/registry entries

This update might solve (some of the remaining) ident4d problems.

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 187 other followers

Recent Posts