| Wednesday October 22nd 2014

Feedburner

Subscribe by email:

We promise not to spam/sell you.


Search Amazon deals:

HOWTO: Defeat Sealed PDFs, A DRM Nightmare


sealed-icon.pngHave you ever heard of a “sealed” PDF? I don’t mean password-protected or branded with your name (as some eBook sellers do). This is a different beast. Let me introduce a company called SealedMedia. Their business is protecting electronic documents (PDFs), a form of Digital Rights Management (DRM) which has always been a topic of ongoing debate. One of their most notable clients: Harvard Business School Press.

The Problem:

I had to write a paper on case #698-004, entitled “We’ve Got Rhythm! Medtronic Corp.’s Cardiac Pacemaker Business,” which is a great case by the way. Unfortunately, my experience purchasing and reading the case was not.

The HBSP Online Store allows visitors to purchase cases individually, in PDF format, well actually SPDF format. The .spdf extension indicates the document has been “sealed” by SealedMedia, and consequently Adobe Reader cannot properly render it without the SealedMedia plug-in and a valid license.

When you purchase the case, you receive a license with a login name and password. When launching Adobe Reader, you must authenticate to the license server to view the document:

sealed-login

The license and the entire concept itself bestows the following restrictions:

  • Your license is only valid for six months. When the license expires, you can no longer view the document without paying for another.
  • The SealedMedia plug-in must be installed to the view the document. This will exclude any public computer (work, library, university) which does not already have the plug-in installed by the system administrator and restricts the installation of new software. Additionally, the plug-in is only compatible with specific versions of Adobe Reader. At the time of writing, SealedMedia only supports up to Adobe Reader 7.0.9, whereas 8.0 was released two months ago.
  • You must be connected to the Internet to view the document. The SealedMedia plug-in for Adobe Reader must connect to the license server and validate your login name and password to fetch your license, every time you double-click the file to open it.
  • While viewing the document, you cannot “print to image” or “print to PDF”. These are features of most operating systems, letting you output documents to other common file formats, instead of an actual printer, using the Print command. If you attempt to do this, you will receive a message stating that you need to purchase a print license.
  • Screen capturing or “Print Screen” does not work. As soon as you enter screen capturing mode, the entire document becomes hidden (I haven’t tested on Mac OS X):
  • You cannot copy and paste anything from the document to another application. If you want to incorporate any text into a report or use it in any other manner, you will have to copy the text by hand.
  • Your license can only be “checked out” to one computer. Once you log in and view your document (on your home PC for example), you cannot then view it at work without relinquishing the license from your home PC first. If you fail to”check in” your license, you will receive a”license already checked out” error. Your only alternative is to wait for the license to time out, which varies between companies using the technology (12 hours for HBSP).

That’s quite a list of restrictions for one document, averaging $6.50 a pop. It is certainly unpleasant knowing that once you agree to legitimately purchase a document from a publisher, these restrictions come bundled with it.

Think you can just take a screenshot? Think again.
sealed-screencap

Think About It

  • The policy is far too restrictive. I’m confident HBSP generates enough revenue selling hard copy case studies and legitimate electronic copies to care about unauthorized duplication. Where do you draw the line between security and convenience?
  • Harvard Business School Press may not be a candidate for solutions like SealedMedia. It seems that many individuals, universities, and businesses count on the instant availability of high quality case studies and other materials in a compact, easy to manage electronic format – without the accompanying restrictions which only distract and inhibit users from working naturally.
  • It is imperative for a company offering this type of solution (especially in a plug-in form) to stay current with the industry by keeping their software updated and properly stating the compatibilities and incompatibilities on their web site (adopting a support forum, posting fixes and workarounds, etc.).

The Solution:

The purpose of this post is to help other users get FAIR USE of .spdf materials that they have paid for but that are practically unusable due to a combination of bugs in the Sealed Media software and missing or obfuscated disclosures from vendors (in my case Harvard Business School that publishes HBR articles).

Specifically, in my case, I purchased an HBR case online since I was about to travel internationally where I would not have reliable Internet or printer access nor did I have time to print the article before leaving.

Due to the following combination of mostly non-disclosed “features” (aka bugs) in the DRM solution, I was not able to access the document that I had purchased again most of these issues were either not disclosed at all or obfuscated. I am sure that many fewer people would choose to download a soft copy over buying a hard copy if the following limitations were clearly disclosed prior to purchase:

1. Opening file requires Internet access and validation EACH AND EVERY TIME YOU OPEN THE FILE (including user name, password, and 1-2 minute wait to unlock); the file needs to be re-validated at least every 12 hours
2. Unlocking the DRM requires downloading of a plug-in which brings potential spyware, bugs, and other stability/security risks
3. This plug-in only works on Windoze computers and not on Linux (and at the time I got it not on Macs)
4. This plug-in only works with certain versions of Adobe Acrobat – most glaringly, it did not work with the current Adobe version at the time
5. The plug-in only works with Internet Explorer and doesn’t work with Firefox or presumably other browsers
6. The spdf file “expires” after 6 months” analogous to writing a document in disappearing ink
7. The spdf file cannot be saved in other unburdened formats for easier personal use. Note you cannot even print to file
8. Even after validation, individual phrases or tables cannot be copied and pasted for valid “fair use” of copyrighted material
9. The spdf file cannot even be read on another computer without a complicated process of uninstalling and reinstalling the key

So, the solution is as follows:
1. Set up a cups “print to pdf” virtual printer on a separate Linux machine (a similar approach probably should work for a Mac). I used the freely available cups-pdf program. Make sure printer is samba shareable over the local network
2. Browse to the pdf printer from your Windoze machine and double-click to install a printer driver (I used the already present HP 1200C/PS driver which enables high resolution color pdfs)
3. Print to the resulting driver. The .pdf file will then be (automatically) saved to your Linux Desktop

Note more detailed info on how to set up a samba (Windows) networked print-to-pdf printer is available at this link (it’s actually easier than it looks but this link includes lots of extra config details, many of which may not be necessary if you are using a Linux distro with a good default samba and cups configuration).

Interestingly, I was initially concerned that passing the text from spdf to postscript and then back to pdf would both lose resolution and increase the file size substantially. However, on my limited testing, I have noted no resolution loss (either of text or graphics, even at 1600% blow-up) and the file size only increased by 30%. Also, since you couldn’t cut and paste text in the original, you don’t lose anything here in the copy. My guess is that the spdf format is already missing all/most of the meta-information and is basically stored similar to a postscript page description language.

As a side note, such workarounds once again illustrate the futility of using DRM — even more so badly implemented DRM that prevents the user from reasonably using his/her legitimately purchased materials. In fact, had spdf been reasonably implemented, I would never have been motivated to spend the time to figure out a way to save it to standard pdf just so that it could be used as intended. Furthermore, were it not for my frustration with this crippled pdf format and the devious way it was sold, I would never have dreamed of posting my personal solution to the net. The solution though is laughably simple and does’t even involve hacking or reverse engineering the DRM itself – just printing it to a pdf printer on a local network.

Net result is I have had a bad customer experience with Harvard Business School and Sealed Media, making me less likely to purchase from them again and overall making me less sympathetic to the DRM interests of copyright holders in general. Ugh, DRM. Yuck!

Related Posts: On this day...

Reader Feedback

50 Responses to “HOWTO: Defeat Sealed PDFs, A DRM Nightmare”

  1. Wont Tell you says:

    I cracked it…

    Install the Free Foxit reader and the OnDemandCM and the PDF Creator ( Essentially a Printer Plug in)

    Print from ADOBE To Foxit Reader .. It will open within Foxit … Here comes the trick. .. DO NOT CLOSE IT>

    Print a second time to Foxit Reader ( This time use the print function From FOXIT not Adobe). This copy will saved as you see it.. The first one is all garbled when you try to close and open.

  2. Neo says:

    @Noah – where do you get SPLView from? Searched down and deep, but couldn’t find one. Thanks for the solution though, sounds like it may work well …

  3. My Name Here says:

    I had never dealt with the sealed media drm before. But after seeing this website, I purchased some inexpensive items from http://www.ichapters.com to play with.

    Some observations:

    -The sealed media system has a list of banned printer descriptions and banned printer ports hard coded into the programming. So that you get a message that you can not print to certain printers that it thinks will allow creation of a digital copy. Do note that this list is not complete and it does not detect all printer drivers that allow dumping data to a file. But the oracle sealed media trolls apparently scour the internet for printers that they missed in their blacklist, so i’m not going to mention any specific missed pdf creation utilities by name.
    -The sealed media system installs file manipulation related global cbt hooks when it starts to help prevent dumping the spdf documents to an unencrypted file. This is troublesome as it blocks the ability to save a simple notepad document when an spdf file is open in your webbrowser.
    -The items that I purchased from ichapters were stamped with “Licensed to: myemail@myhost.com” at the top of each page. And there was an ichapters.com watermark in the middle of each page too.
    -The postcript code sent to the printer is really odd. Vector graphics are normal. But the text of the page isn’t legible text and to get plain text, you’ll have to print the item in graphic mode and then run optical character recognition software over the graphic.

    Overall this DRM does prevent casual copying of digital media. And in the future, I’d probably purchase a physical copy of the book and scan in the pages of paper that i want to digitize by hand.

  4. My Name Here says:

    Another observation: Installing the oracle sealedmedia system breaks certain printer drivers in windows xp. On the affected printer models, the printed documents just hang in the queue forever giving errors with generic descriptions like “Error” and “Failed to Print”. This happens even when an spdf document is not open.

    To fix the problem, you can use add/remove programs to remove the entire sealed media system. You can also rename the file “C:\Program Files\Oracle\Information Rights Management\Desktop\sealmon.exe” to something else and manually kill the sealmon process with task manager. Then when you need to open an spdf document, rename the file back to sealmon.exe and relaunch sealmon.

  5. GeiseHabgier says:

    Hmm, has anyone tried to use a memory tracing utility to attempt a dump of the decrypted data from volatile memory? I’d even consider running it in VMWare, periodically saving the .vmem files and then rummaging through the dumps to see how the decrypted data is stored. This might be a real pain in the ass, but it could provide enough information to create an app to do this automatically.

  6. jacknipper says:

    Download SplViewer (www.lvbprint.de/html/splviewer.html) and install cutepdf or pdf995 in your pc. Disconnect your printer cable, open the .spdf file and print it in the printer you just disconnected. An error message is displayed because your printer is not connected, however the “.spl” file can be found at c:\windows\system32\spool\printers. Open the .spl with the SplViewer and print it using pdf995 or cutepdf or whatever pdf virtual printer you want.
    Done !!

  7. yeppers says:

    i have a lexmark x7675 network printer…i tried the above method and no spool file appeared.

  8. Oracle DRM SUX says:

    I had the same problem, no spool file. looks like oracle has stopped the process before one is created… I am still looking for a solution. I am not trying to sell my ichapters book rip anyone off, I just want to be able to copy text to my personal notes! I hate this crap!

  9. Jenae Talmadge says:

    My ipod 1G is our important iPod, Personal digital assistant and way more, and also has been ever since I gotten it. It continues to run the most up-to-date iPod system software, and any iphone app I want it to run. I’m using it to leave this comment right this moment. I’d say it really is a much more compared with simply just an “excellent hobbyist system” — it can be an fantastic iPod

  10. you wish says:

    I think I’ve figured out how to get passed the .spdf’s form iChapters/CengageBrain, maybe others.
    1. Install a printer driver for a printer you don’t actually have (the specific one I used was “HP Deskjet 6980 series”)
    2. Go into that printers properties, pause all print jobs
    3. Download/Install http://www.lvbprint.de/html/splviewer.html
    4. Download/Install a PDF printer
    5. Open your .spdf and print it to the fake printer.
    6. Open SPLView. File>…Job List.
    7. Open job you sent to the fake printer.
    8. Print to PDF printer.

    Basically you’re printing to a fake printer to create the spool (.SPL) file. Then using a SPL viewer to print it.

Leave a Reply

You must be logged in to post a comment.