78

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?

5
  • You could boot to an android x86 usb and read it there, or install an android vm.
    – geek1011
    Commented Feb 2, 2017 at 16:52
  • Another thing which probably would not work, but it is worth a try is archon-runtime.github.io or ARC welder from Google
    – geek1011
    Commented Feb 2, 2017 at 16:53
  • 3
    You can't "convert" an ACSM to EPUB - the ACSM ist just a tiny XML file basically containing a download link for the (probably DRM-protected) file. The fine print also states you did not "purchase" the book, but only a license to read it on the specific platforms on which you can use your ADE login. The only way would to download it on a system on which your ADE works, and then maybe to strip the DRM protection.
    – jvb
    Commented May 12, 2017 at 7:08
  • @jvb That's not true, it can be done, relatively easily, but I don't think we are allowed to show the way here.
    – Quidam
    Commented Sep 12, 2017 at 8:28
  • 1
    @Quidam: I know it's theoretically possible that a conversion method could be used for illegal purposes, but that's not what this question is asking. I have a similar situation where I have purchased a book that I'd like to remove the encryption on. I, for one, would like to see the "relatively easy" method listed here as one of the answers.
    – hackerb9
    Commented Apr 14, 2018 at 2:19

6 Answers 6

57

I created a program called Knock to convert ACSM files to DRM-free EPUB files at the command line:

[user@computer:~]$ knock ./example.acsm
downloading the file from Adobe...
removing DRM from the file...
DRM-free EPUB file generated at ./example.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.

10
  • 1
    Worked for me. I had an issue opening it with the epub viewer provided by Calibre which rendered all in black pages, but It was visible in Okular.
    – Bogdan
    Commented Oct 12, 2021 at 17:56
  • 1
    Cool idea and name for the project. Would have been probably easier when the underlying libgourou lib was also python :)
    – Adam
    Commented Nov 16, 2021 at 2:37
  • 17
    I'm getting a 404 on Github. Commented Dec 23, 2022 at 11:36
  • 4
    As per Arch's AUR, you can download it from archive.org
    – Sparhawk
    Commented Jan 16, 2023 at 2:03
  • 5
    @JackM It builds, installs, and work fine for me through the AUR package. I also tried downloading the sources manually as per the PKGBUILD. This one works fine for me: web.archive.org/web/20221020182238mp_/https://github.com/… but yeah a fork is probably a better idea.
    – Sparhawk
    Commented Jan 19, 2023 at 14:22
40

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

  1. 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
    
  2. Install dotnet40

     winetricks dotnet40 
    
  3. Now download Adobe Digital Editions for Windows and install it:

     wine Downloads/ADE_4.5_Installer.exe 
    
  4. 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.

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

  6. Now its time to run DeDRM from python wine. Unzip DeDRM tool Version 6.x and locate the adobekey.py file.

  7. Install python, pip and pycryptodome:

     winetricks python27 # this should also install pip
     wine pip install pycryptodome
    
  8. Run adobekey.py from the dedrm you downloaded before with wine python:

     wine ~/.wine/drive_c/Python27/python.exe adobekey.py 
    
  9. 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'.

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

28
  • 6
    As of April 10 2020 this solution still works! Legal or not, this is what I needed to do so that my 9 year old could read the ebooks provided by the public library on my e-Reader, instead of on a computer screen or smartphone. I think in this case, given current COVID-19 confinement orders, that bending rules like this is appropriate. The kids have to read!
    – NWMT
    Commented Apr 10, 2020 at 13:00
  • 1
    Wow, thanks to the original answer and the script above! It actually worked, but with one change. adobekey.py only works with Python3, so I replaced it with this version from the Python2 branch from the DeDRM_tools GitHub.
    – Kyle
    Commented Dec 5, 2020 at 2:47
  • 1
    Agreed, I'm just glad they left a clean break point from Python 2. PyCrypto will need to move to Python 3 as well. I'm watching DeDRM for releases to update the wiki or raise an issue when that times comes.
    – Kyle
    Commented Dec 6, 2020 at 17:05
  • 1
    i tried this in Wine 6 today and was baffled that DigitalEditions.exe kept crashing. Turned out I needed to apt install winbind. Perhaps that should be one of the steps now.
    – hackerb9
    Commented Feb 9, 2021 at 4:05
  • 1
    hi @hackerb9, you are right. I had winbind installed before, I can reproducce that without it DigitalEditions will crash at startup.
    – Adam
    Commented Feb 9, 2021 at 19:37
15

It's now possible to do this 100% within Linux, without running any emulators or Windows software, even though Adobe don't care about Linux support.

Knock is no longer maintained, however apparently it was just a wrapper around libgourou which is still maintained.

Installing libgourou (on Arch Linux it can be found in the AUR) allows you to download the ACSM file to a PDF or ePub:

# Use your username and password from https://account.adobe.com
# This registers your device so only needs to be done once.
adept_activate -u user -p pass

# Download the ACSM file
acsmdownloader -f myfile.acsm

The downloaded file requires a password to open it, but if you need to open it in a normal viewing application, you can also remove the password:

adept_remove file.pdf

This process allows Linux users to access the same materials as their Windows and Mac friends, even without support from Adobe.

3
8

I will try to list all the solutions I've found.

First one. Tested solution: working, and very easy.

First install Wine on your Linux. Then download Adobe Digital editions. Link to download Adobe Digital editions

Then, install the file you dowloaded from Adobe (It was ADE_4.5_Installer.exe, for me), in the Wine virtual Window. If you don't know how to use wine, see this doc: How to install and use Wine on Linux

Second solution:

Install a virtual Windows on Linux. How to.

Third solution: If you failed to install virtual machine or open with Wine, and if you really need this program, install a dual boot on your computer Windows/Linux. How to dual boot Windows/linux on the same computer

4th solution, use a virtual Android phone (or a real one) and install the Adobe Digital editions for Android. Virtual smartphone software, Memu

You can also try to emulate MacOs, or iOS.

There are solutions to remove the DRM, and so convert the acsm into epub, but there are no legal, so I don't think I'm allowed to write them.

3
  • 4
    As all listed "solutions" require installing the ADE software (on different operating systems), and downloading the ePub via ADE with an operational ADE user account... how come you are claiming my comment above to be "not true"?
    – jvb
    Commented Sep 12, 2017 at 11:13
  • 3
    You seem very susceptible. I was saying "no" to "you can't convert ASCM". I should have say "I disagree" instead of "untrue", but English is not my language. Anyway, it doesn't desserve a downvote from you. Why people seek revenge here rather than peace and communication? It's only replying to a comment to tell my opinion, I didn't kill you nor downvoted you.
    – Quidam
    Commented Sep 18, 2017 at 8:47
  • "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." Your solution does not work for the user, as they already said. Commented Jun 1, 2018 at 17:55
4

I have also used release of 'knock' downloaded from Web Archive (https://web.archive.org/web/20221020182238mp_/https://github.com/BentonEdmondson/knock/releases/download/1.3.1/knock-1.3.1-x86_64-linux). Worked very well - thank you @BentonEdmontson !

3
  • I got some error from knock, don't do this, it's not on github so there's nobody to ask about it, but my book has already been checked out from Adobe and downloaded
    – iopq
    Commented Mar 27, 2023 at 5:20
  • YMMV, as they say - for me it did work, and it was super simple. I will use it next time for sure :) Commented Mar 28, 2023 at 8:08
  • Please, see this: unix.stackexchange.com/questions/772631/… What is going wrong? Commented Mar 18 at 18:37
3

.acsm can only be used with Adobe Digital Editions and stands for Adobe Content Server Manager.

For more information about Adobe Digital Editions please see http://www.adobe.com/products/digitaleditions/faq/

Side note (may not be generally applicable to Digital Editions users): Stated in the agreement (may be of concern in making a program to access .acsm ) for Adobe Content Server section 11.1 you agree not to:

(d) obtain or attempt to obtain any materials or Information through any means > not intentionally made available through the Services;

Interpret this as you will, I will not give you illegal advice.

1
  • 21
    Then they should have made a version for Linux Commented Oct 21, 2018 at 19:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .