Removing DRM from Kindle Books

Get Calibre for the Kindle.

Get this Kindle plugin zip file.

Unzip the file, Open Calibre>Preferences>Plugins>From File>Unziplocation/Calibre_Plugins/K4MobiDeDRM_v04.5_plugin.zip

Choose the zip file K4MobiDeDRM_v04.5_plugin.zip

Customize plugin>Enter the Amazon Serial No

The serial no is located from Kindle>Home>Settings>Device Info>Serial No “B00E-” (example)

Hit Ok, close and restart Calibre.

The DRM is removed while importing the book to Calibre. So if you’ve already added the book, delete it from Calibre and readd it.


You are reading this post on Joel G Mathew’s tech blog. Joel's personal blog is the Eyrie, hosted here.

Sftp access to Kindle root dirs via Windows

Get the sftp binary from here

Connect Kindle in USB mode and copy this file to any dir.

Start Putty and ssh to [email protected] Password is mario

Now, manually copy that file from /mnt/us/location_where_copied to /usr/libexec/

chmod 755

Now try sftp to [email protected] with port 22 and password mario

You can now copy files to and fro..

 

If you prefer a File manager interface for copying files though, use WinSCP

 


You are reading this post on Joel G Mathew’s tech blog. Joel's personal blog is the Eyrie, hosted here.

Getting rid of ads on Amazon Kindle 4 Non touch

The following methods document how to disable the nagging screensavers on the Ad supported version of Amazon Kindle 4.

A. Using Windows

Required:

  1. Win 7,
  2. Putty Client for Win

A. Simple Method

Update: There is another simpler method to disable ads on the Kindle, as posted by Nathan here.

Steps:

  1. Backup the documents folder and any custom folders on the USB connection
  2. From Menu->Settings->Reset to factory defaults
  3. After language is chosen, dont signin to Amazon account. Instead, connect via USB
  4. Create an empty text file in system/ directory with any name.
  5. Now Open a DOS Prompt within system/ and execute the following:
    ren nexttextfile.txt .assets[/code]
  6. Now, change the .assets file to Read Only
  7. Now, you can link your Amazon account and recopy all backed up files.

This is a nice hack, and it should work though I havent tested it myself. You no longer need to ssh into the device in USBnet

B. Method for Advanced Users

Enter Diag mode on Kindle 4: Mount Sd card on a booted kindle, and rename DONT_HALT_ON_REPAIR in the root of card to

ENABLE_DIAGS[/code]

Menu>Settings>Menu>Reboot

You can keep cable connected. Note the driver detection. Windows 7 should connect to update service and get the correct driver.

Next, Enter network connections, and change IPv4 Properties (Use the following IP) to 192.168.15.1, subnet automatically becomes 255.255.255.0

Open Putty, ssh to

192.168.15.244[/code]Choose port 22 (Already selected). Enter user as "root", password: "mario"

login as: root
[email protected]'s password:
#################################################
# N O T I C E * N O T I C E * N O T I C E #
#################################################
Rootfs is mounted read-only. Invoke mntroot rw to
switch back to a writable rootfs.
#################################################
[root@[192_168_15_244] root]# mntroot rw
system: I mntroot:def:Making root filesystem writeable
[root@[192_168_15_244] root]# [/code]

Note: If it says password is wrong (happened on ubuntu for me. Also a weird prob with ssh terminating by hanging if it connected at all), just reboot pc/kindle and try again.

Accept the key when prompted. You're in!

Now, add screensaver hack:

Mount filesystem as RW by following the command on screen. Now you can view entire / file system.

mntroot rw[/code]

mount /dev/mmcblk0p1 /mnt/base-mmc[/code]

Backup the existing screensavers.

mv /mnt/base-mmc/opt/amazon/screen_saver/600x800 /mnt/base-mmc/opt/amazon/screen_saver/600x800.bak[/code]

mkdir /mnt/us/screensaver

ln -sfn /mnt/us/screensaver /mnt/base-mmc/opt/amazon/screen_saver/600x800

The ln -sfn will forcibly (-f) create a new symlink (-s) to a directory (-n)
Now disable existing ads:

rm -rf /mnt/us/system/.assets/
mkdir /mnt/us/system/.assets/
chmod -w /mnt/us/system/.assets[/code]

Remove downloaded ads:

mv /var/local/adunits /var/local/adunits_bak[/code]

And that's it. Disable Diag mode and reboot. It will show a white screen for first standby, and later use the custom screensavers from the screensaver folder in root of your mounted device (can be modified in normal usb mode). Use 600x800 pics, 72dpi in 32bit indexed greyscale

 

Using Linux

Once you're into ssh, the methods are same. So initial steps (Courtesy: dionoea Link):

  1. Connect your kindle as a usb mass storage device
  2. touch ENABLE_DIAGS in the device's root
  3. reboot the kindle through the setting menu's menu
  4. You're now in diags mode
  5. Connect your kindle and computer using the usb cable (nothing should happen)
  6. Menu, enable usb networking (Misc individual diagnostics > Utilities > Enable USBnet). The kindle should now register as a usb ethernet device (relevant messages should appear in /var/log/syslog )
  7. On your computer configure the ip address on that device: ip addr add 192.168.15.241/24 dev usb0
  8. Use ssh to connect to the kindle:
ssh [email protected][/code]
The password should be "mario". If mario doesn't work, use the python script to generate the password from your serial number.


You are reading this post on Joel G Mathew’s tech blog. Joel's personal blog is the Eyrie, hosted here.