January 30, 2021 Stardate: 74547.7
These instructions are adopted from Aric Renzo at https://www.aricrenzo.com/2019-12-13-Liberate-Your-Nook-Ebooks/ and are intended to fill in the gaps and/or clarify some steps for total noobs like myself. I am not smart enough to figure these out and all thanks and appreciation go to him.
I’ve rearranged the order of operations from Aric to put the most difficult (IMO) steps in the beginning. This way, if you fail there is no sense in doing the other easier steps.
I usually just look at the last 4-5 digits to verify.
sha256sum <filename>
/usr/local/
directoryRemember you will need root access to be messing around in /usr/local
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
How do you know if you are running 64-bit? Type uname -i
and if you see x86-64
you are.
Let’s fire it up! Within /usr/local/andoroid-studio/bin
type ./studio.sh
.
Pixel_3a_API_30_x86
that was present when I started AVD Manager.A phone will appear and after a couple seconds it will “boot up”. Here’s mine:
If you don’t have root access you did something wrong and there is no point in continuing, so let’s check now.
Open a terminal screen. When you install Android Studio it created an “Android” directory in your home folder. Go there and browser in ~/Android/Sdk/platform-tools
.
You should see a command named adb
.
Type ./adb root
and you should see something like restarting adbd as root
. If you do not, you are screwed. Go back and figure out what you did wrong. The primary source is that whole “Not a Google Play image thing”.
Now we can get inside the virtual device, ./adb shell
. Your cursor should be a pound “#” indicating you are root.
If you are not root, you can’t go into all the necessary directory folders.
Keep this terminal around, we’ll need it later.
In your virtual device, open the Chrome browser. Just navigate with your mouse.
Copy this url https://apkpure.com/nook-read-ebooks-magazines/bn.ereader/versions
and paste into the Chrome browser.
V5.2.0.18
so you might as well do the same.It will ask you to log-in with your username/password. I didn’t take any screenshots of these steps, but it is typical app setup junk.
Then it may ask for credit card information if you don’t already have it setup in your B&N account –like I did not. you can skip this section by scrolling to the bottom of the screen and hitting “Skip”.
Give it a minute and it will download your library. Somewhere it said you can also pull-up on the screen to make it refresh. Here’s what mine looked like. It included the purchased book (upper left) and 5 other free books that I didn’t ask for.
.epub
. I instructions on the web about selecting Download to SD Card
in the settings and such, but I didn’t have to do that.Go back to the terminal screen where you opened the shell.
Now we need to find that book file we just downloaded. I noticed that the B&N books appear to be in the format 123456789_epub.Vx.epub
. That is, a bunch of numbers + _epub+a version number+.epub extension.
I found the downloaded book at `/data/data/bn.ereader/files/B&N Downloads/Books/
To copy a file from the virtual device to desktop you have to “pull” it from back in the terminal - not the ADB shell.
cchashdata.db
. Search for it inside the ADB shell but I would bet it’s in the same directory as where you found the file = ./adb pull /data/data/bn.ereader/databases/cchashdata.db
sqlite3 cchashdata.db
select hash from cc_hash_data;
sudo apt update && sudo apt install -y libfontconfig libgl1-mesa-glx
bash sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
Install via Software Center
Install via apt-get
sudo apt-get update
sudo apt-get install calibre
Open browser and go to DeDRM github page at https://github.com/apprenticeharper/DeDRM_tools/releases
Download the plugin .zip package. I chose to download the latest pre-release at the time (v7.0.3). Just click the zip link in the “Assets” subsection and save.
Open Calibre
Click the Preference icon in the tool bar
Scroll down to Advanced and click Plugins
Click “Load plugin from file”
Select the DeDRM_plugin.zip
zip package you saved. Click yes and ok to everything.
Back in the Plugins dialog, select “File type” and select “DeDRM”, click the button “Customize plugin”
Select “Barnes and Noble ebooks”
Select “Import Existing Keyfiles”
Browse and select the keyfile you saved, something like MyHash.b64
At this point, you can add your book that you downloaded from the virtual device. Remember in my example it was 9780133489293_epub.v2.epub
. WIihin Calibre select “Add books”
Browse to and select the epub. Select OK
If you double-click the book to open it and get an error message stating you have DRM then something went wrong.
You can go post a message to the DeDRM forum along with a log file. They are very helpful. Here are instructions on creating a debug log.
The goal of this post was to add clarifications to Aric Renzo’s excellent instructions based on what worked for me. These instructions are not for Windows but could probably be adjusted to make work. I’m positive there are other methods of making this work. If there are any mistakes to these instructions feel free to hit me up on twitter.
This is an automated list of software versions used during the writing of this article.
Software Version
Ubuntu 20.04.1
Calibre 5.10.1
Android Studio 4.1.2
B&N Reader App .apk 5.2.0.18
DeDRM Calibre Plugin 5.10.1