How to read Ebooks protected by Adobe Digital Editions on Linux

epub logo

Disclaimer

This article is intended for informational purposes only. The methods discussed here involve bypassing Digital Rights Management (DRM) protection on ebooks. While this may be legal in certain jurisdictions for personal use (e.g., for format-shifting or accessibility), bypassing DRM may be illegal in some countries under local copyright laws. I strongly advise that you familiarize yourself with and follow the copyright laws applicable in your country before proceeding with any DRM circumvention methods.

Introduction

Like many Linux enthusiasts, I currently run a dual-boot setup on my laptop. One of the things I have been trying to do recently is to reduce my reliance on Windows. Unfortunately, many softwares don’t simply run on Linux. One example is Adobe Digital Editions (ADE), which is required to read ebooks borrowed from my digital public library. To read these ebooks on my Kindle E-Reader, I need to:

  • Use ADE to retrieve the EPUB file from an ACSM file. This software is not available on any Linux distributions.
  • Convert the EPUB into a MOBI format using Calibre. Calibre alone cannot convert the file, since the EPUB generated by ADE is DRM-protected. That’s where the DeDRM plugin comes in handy.

For the plugin to works as intended, the main challenge is that Calibre needs to run on the same computer as ADE to access the ADE authorizaton key. Fortunately this tutorial suggests a workaround.

What you’ll learn

In this tutorial I’ll show how we can:

  • Run ADE on Linux using Bottles.
  • Extracting the ADE authorization key file from the Wine bottle.
  • Configuring Calibre (Linux version) to use the authorization key and convert the EPUB file.

What you’ll need

  • A DRM protected .acsm file.
  • An Adobe ID (Adobe email & password).
  • A Linux computer with:
    • The Calibre E-book management software installed.
    • The Flatpack package manager installed. This is necessary to install Bottles.
    • The Bottles package installed.

Let’s jump right in!

Setup the bottle

Download executable files

The first step will be to download the executable files to install in the bottle.

wget https://adedownload.adobe.com/pub/adobe/digitaleditions/ADE_4.5_Installer.exe
wget https://www.python.org/ftp/python/3.12.8/python-3.12.8-amd64.exe
  • And finally we will need the DeDRM plugin. Version 10.0.9 is the last one at this time of writing.
wget https://github.com/noDRM/DeDRM_tools/releases/download/v10.0.9/DeDRM_tools_10.0.9.zip

Create the bottle and installed ADE

Let’s create a new bottle. Set a name, select Application and hit the create button

bottle setup

Wait for the bottle creation and open it. Click on Run Executable..., then in the file explorer, select the executable previously downloaded: ADE_4.5_Installer.exe.

run executable select executable

Wait a bit for the installer to start running. A new window will pop up. Accept the License Agreement and click Next >

licence agreement

On the next window, make sure Associate .acsm and .epub file types is checked. We can uncheck the 3 other boxes. Hit the Next > button.

associate .acsm and .epub file types

Click Install on the following window.

install ade

ADE will suggest to install Norton Anti virus…, well “No, Thank you” !!

norton ad

Done, you can now hit the Close button in the coming window. Wait a few seconds, ADE will open. We can now close the window.

ade opened

Create a shortcut

Cool, ADE is now installed in the bottle. But how to get it to open without reinstalling it everytime?

On the bottle main page, click on + Add Shortcuts.... This will open the files accessible within the bottle.

add shortcut

Browse all the way to drive_c/Program Files (x86)/Adobe/Adobe Digital Editions 4.5 and select DigitalEditions.exe.

select shortcut executable

We can now run ADE by clicking on the shortcut from the bottle main page.

ade shortcut installed

Authorize the bottle

Now, we have to authorize the bottle using an Adobe ID. Use the shortcut to open ADE, then click on Help, and Authorize Computer....

ade computer authorization

Fill in the credentials and hit Authorize.

ade computer authorization form

That’s it, we are good to move forward.

ade computer authorized

Extract the authorization key

The DeDRM Calibre plugin uses a python script to extract the ADE authorization key. Since we want to keep Calibre installed on Linux, we can’t rely on the plugin to extract the key, because ADE has to be installed on the same host as Calibre. Instead, what we will do is to run the script ourselves to extract the key, then import it in Calibre manually.

1. Move the plugin scripts in the bottle

On your Linux computer, extract the DeDRM_tools_10.0.9.zip archive. This should create a folder named DeDRM_tools_10.0.9. Open this folder and extract the DeDRM_plugin.zip archive inside.

Back to your bottle main page, click on the 3 vertical dots at the top right side of the window, then click Browse files.... On my ubuntu computer, it opens ~/.var/app/com.usebottles.bottles/data/bottles/bottles/Adobe-Digital-Edition/drive_c/. Go to /users/steamuser/Downloads, then copy & paste the extracted folder named DeDRM_plugin inside the Downloads folder.

You can also run the following commands in your Linux terminal, assuming the path matches:

# Extract the folders
mkdir DeDRM_tools_10.0.9
unzip DeDRM_tools_10.0.9.zip -d DeDRM_tools_10.0.9
cd DeDRM_tools_10.0.9
mkdir DeDRM_plugin
unzip DeDRM_plugin.zip -d DeDRM_plugin

# Copy the folder within the bottle shared filesystem
mv DeDRM_plugin ~/.var/app/com.usebottles.bottles/data/bottles/bottles/Adobe-Digital-Edition/drive_c/users/steamuser/Downloads

2. Install python and its crypto modules

Once again, let’s click on Run Executable..., then in the file explorer, select the python executable downloaded: python-3.13.1-amd64.exe.

run executable

Be patient while the installer starts. A new window will pop up. Click on Install now after checking the box Add python.exe to PATH.

python installer

You can now close the installer.

3. Generate the key file

Back to your bottle main page, click on Command Line in the Tools section at the bottom of the window.

command line tool

4. In the terminal the opens, execute the following commands

python -m pip install pycryptodome
python drive_c/users/steamuser/Downloads/DeDRM_plugin/adobekey.py

You should get a window popping up, telling you the keys got successfuly retrieved!

generated key success window

You should find a new file in the DeDRM_plugin folder with a name looking like adobekey1_uuid_046464f1-9372-42c4-9a8d-your.email@domain.com.der. Copy this generated .der file on your Linux filesystem.

Setup the Calibre plugin

We are almost there. Let’s open Calibre on Linux and install & configure the plugin.

  • Open Calibre
  • Select Preferences
  • At the bottom in the Advanced section, select Plugins
  • At the bottom right side of the window, select Load plugin from file. You’ll need to select the zip file named DeDRM_plugin.zip, obtained after unarchiving the DeDRM_tools_10.0.9.zip file. When prompted for, don’t restart Calibre (not yet)

In the plugin list, double click on the newly added DeDRM plugin in the File type section, then click on Adobe Digital Editions ebooks.

calibre ade manage key files

Click on Import Existing Keyfiles. This is where we retrieve and select the adobekey1_uuid_046464f1-9372-42c4-9a8d-your.email@domain.com.der file previously generated.

calibre ade import existing key files

We can now close Calibre.

Restarting Calibre is necessary for the plugin to work as intended.

Converting books

Once the initial setup is done, you will only need to follow this section for every new book you would like to read.

Convert an ACSM file to an EPUB.

First, we have to make the ACSM file accessible within the bottle. Just like we did when copying the DeDRM scripts, click Browse files... from the main bottle page, go to /users/steamuser/Downloads, then copy & paste the ACSM file inside the Downloads folder (next to the DeDRM_plugin folder).

Open ADE using the shortcut. Click on the File button at the top left side of the Window, then Add to Library.

Browse the filesystem to get the Downloads folder at My Computer > C: > users > steamuser > Dowloads. At the right bottom of the window, make sure to select Adobe Content Server Message. If we don’t, the ACSM file doesn’t get displayed and therefore cannot be selected.

select acsm file

Select the file and click Open. The book should now appear on ADE, along with a warning popup. This is fine since we don’t intend to read the book in ADE.

ade warning cannot read book

We can now click Ok on the little popup window and close ADE. We are done with it 😌. Now it’s time to retreive the generated EPUB on your Linux system! Once more, click Browse files... from the main bottle page and open the My Digital Editions folder at /users/steamuser/Documents/My Digital Editions/. That is where the EPUB can be found.

Convert the EPUB to MOBI format for Kindle using Calibre

  • Open Calibre
  • Click Add books and select the EPUB created in the previous step.
  • On the book list, right click on the book, then click on Convert books, then Convert individually
  • On the top right side of the window that opens, select the Output format: MOBI.
  • On the bottom right side of the window, select OK.

We can see the job getting started on the bottom right side of the main Calibre window. Once the job is done, our MOBI file is ready! We can right click on the book a second time, and this time select Open book folder, then Open book folder again. This is where you MOBI file can be found.

Happy reading! 🤓🕮

Cleanup

Once the initial setup is done and the authorization key stored in Calibre, python is not useful anymore in the bottle. We can easily remove it by running the same installation executable a second time in the bottle, and selecting Uninstall this time.

uninstall python

If you found this tutorial helpful, star this repo as a thank you! ⭐