How to read an ACSM file on Linux?
So, I needed the Semantics Engineering with PLT Redex textbook to complete a homework assignment this week. I needed it in a digital format because I'm going to POPL 2016 tomorrow and I can't have it delivered to me. Hence, I paid $50 for the eBook so that I could complete my homework.
The problem is that I'm using Arch Linux and for some reason Adobe Digital Editions doesn't work for me. During installation it said that it might not work on a 64-bit system. Anyway, I tried to find an alternative solution and I learned that I could read the book using Bluefire Reader on my phone.
And it worked. I can read the book, but I don't want to read the book on my little phone screen. So, I transferred the PDF file that Bluefire Reader downloaded to my laptop in hopes that I could open it using a simple PDF reader. Then I double click on the PDF file with a smirk on my face... and it asks me for a password.
I hope you can understand my frustration. All I want to do is read the book that I legally purchased on my laptop so that I can complete my homework and get on with my life. I tried using other eBook readers like Calibre but it requires that I convert my ACSM file to EPUB using Adobe Digital Editions (which doesn't work for me). What other alternatives do I have?
I created a script called Knock to convert ACSM files to DRM-free EPUB files at the command line:
[user@computer:~]$ knock my-book.acsm
Downloading the EPUB file from Adobe...
Decrypting the file...
DRM-free EPUB file created:
my-book.epub
It doesn't use Adobe Digital Editions and it doesn't use Wine. It is completely free and open-source software for native Linux.
The question is quite old, but people like myself still trip up on DRM locked ebooks. I assume you want to get out of the acsm a DRM-free epub. My instruction is for Ubuntu/Debian using apt-get, but the tools exist for other distros as well. I need a couple of tools in particular: the DeDRM tool for python2.7 and wine. On wine, we will install Adobe Digital Editions, python and pip for windows
-
Install wine and winetricks because we will run Adobe Digital Editions in wine. By default ubuntu19.10 intalled wine 4 on my machine. Its easier to upgrade to wine5 first. ADE works so much better with wine5.
sudo apt-get install winehq-stable winetricks winbind
-
Install dotnet40
winetricks dotnet40
-
Now download Adobe Digital Editions for Windows and install it:
wine Downloads/ADE_4.5_Installer.exe
-
After installing and launching DigitalEditions you will need to authorize you computer or log in with your adobe id if you don`t have one create it for free.
-
Open in ADE the acsm file. It will download the epub into your user documents folder (e.g., ~/Documents ) in sub dir "My\ Digital\ Editions". Note that the file is still DRM protected.
-
Now its time to run DeDRM from python wine. Unzip DeDRM tool Version 6.x and locate the adobekey.py file.
-
Install python, pip and pycryptodome:
winetricks python27 # this should also install pip wine pip install pycryptodome
-
Run adobekey.py from the dedrm you downloaded before with wine python:
wine ~/.wine/drive_c/Python27/python.exe adobekey.py
-
You get the adobekey_1.der that you need to run the other script:
python ineptepub.py adobekey_1.der ~/Path/to/drm_locked.epub your_drm_free_out.epub
For pdfs use 'ineptpdf.py' inststead of 'ineptepub.py'. If you get an error in this step about python, adjust the term 'python', to 'python2' or 'python3'.
-
You should get the output:
Successfully decrypted drm_locked.epub as your_drm_free_out.epub
Done. Read your epub on any epub reader, e.g., okular, readera, lithium.
To be sure, this is quite a few steps. However, ADE is not a good reader, and the reading experience using wine even worse. I disagree that removing DRM is not legal; for personal use it's perfectly fine to remove DRM from your purchased ebooks. Publishers, of course, have an interest in reducing and controlling access to the material. EFF has some interesting articles on DMCA, DRM, and copyright. Have fun reading.