Kindle书籍移除DRM思路

亚马逊中国上线Kindle商店后,到目前为止只能给移动端软件阅读。面对数万官方排版的书籍,却不能放在Kindle上真是急煞人。于是自然地想到要提取书籍文件并破解版权保护……(我只为了自己看……)

从目前放出来的平台看,最可行的应该就是Kindle for Android了。

于是装了Android版买了一本免费的书开始测试。

有人据说已经破解了~
未测试:https://docs.google.com/file/d/0B3wQzEo7uCPlN0lDQU5BaVBhM1E/edit?pli=1

  • 提取书籍文件
    这一步很简单,Android开放性众所周知。其文件就在/sdcard/Android/data/com.amazon.kindle/files/路径下,形如“B009FRHQT2_EBOK.prc”这样的文件。反正我截图也删了……

  • 初步处理
    把拿到的文件用Calibre打开,封面什么的一应俱全。

Calibre打开的官方书籍信息 Calibre打开的官方书籍信息

就是有版权……用Kindle Previewer打开会直接显示版权保护。

有版权保护 有版权保护

  • 查找破解方法。
    具体可以Google “prc drm” 有诸多软件。所有破解方法都是一个思路,获取设备PID。然后再解密。所以唯一的方法就是获得Kindle for Android的PID了。然后我找到了这里:

http://stream-recorder.com/forum/find-pid-kindle-android-t8931.html

BalaBala的那么多,反正就是给出了个思路,反编译、插代码,获得PID。连步骤也做好了。但是版本差不少,估计思路可行,具体是要修改了。

然后去下载这个论坛提供的破解一条龙软件……里面还真是什么格式版本都有

http://apprenticealf.wordpress.com/

在下载得到的文件中\Other_Tools\Kindle_for_Android_Patches下就是我们用得到的主要文件了。实际全部步骤都在readme里,但是……他们为什么都不留联系方式,我邮件都没地方发……

  • 试着破解
    作为写过Android平台Hello World的人,看到ADB什么的命令的还是能接受的。然后那里面也说了需要android-apktool,就下呗,一步一步做。然后做到这一步:“patch -p1 < ../kindle3.patch” 发现没有任何文件对应哦。查了下是Linux下的命令……外国人都略高档。开了个虚拟机继续折腾。做到这步是昨天……因为虚拟机里没有JDK什么的,只从这一步做起各种奇葩patch还出错,可能因为APK版本不对应。(各种命令时候要按照自己文件名修改,包括patch文件中,可以打开看到kindle3.7.0.108/这样的路径,但是自己的可能不是,要么修改自己的文件夹名,要么修改文件,总之对应。)

于是今天在虚拟机里装了JDK从头继续,为了先测试可行性就没拿新版本的kindle软件,而拿的和文档中一样的kindle3.7.0.108版本。patch成功了,于是有种大功快告成的感觉……然后在打包时候杯具又发生了:

打包编译出错 打包编译出错

经各种搜可能是framework-res.apk版本不对应,就下了个sdk11的,但还是出错……好吧我折腾不动了……

  • 阶段总结
    需要的环境、软件有:
  1. JDK

  2. Linux(当然Patch命令有window解决方案但是我装了不好用)

  3. adb.exe

  4. android-apktool(Windows 与 Linux平台稍有不同,具体看主页说明)

  5. 拿到PID号后的某破解软件
    步骤为:

  6. 从Android端提取书籍文件

  7. 反编译修改kindle apk拿到PID

  8. 通过PID解密书籍
    Pause……