[Voy a contar cómo reventar el DRM de los ficheros Mobipocket, así que si te interesa, sigue leyendo]
1.- Introducción (o las batallitas del abuelo Cebolleta)
En mi fiel intención de ser el desafortunado poseedor de todo cacharro para lectura de eBooks que se precie, o más bien de haberlos usado más o menos de forma continuada y luego deshacerme de ellos vendiéndolos, he decidido probar un Kindle 2…
Bueno, mejor no leáis lo de arriba, porque no es cierto ni de lejos. Lo de arriba es el efecto, la causa es otra, así que repetimos:
En mi fiel intención de encontrar un lector de eBooks que funcione medianamente bien y que cumpla fielmente con su cometido (que es leer libros, no escuchar música, ni navegar por internet, ni servir de agenda ni de máquina de escribir, etc.) han pasado por mis manos la mayoría de aparatos de este tipo.
Mi primer cacharro fue una PDA, una HP de la que ya no recuerdo el modelo, pero sé que era de las normalitas. Luego vino otra, una X51v de Dell con pantalla VGA y acelerador 3D a la que le compré una batería extendida que me duraba media semana de lectura continuada sin tener que recargarla. La verdad es que con el Mobipocket Reader sigue siendo el aparato que más satisfacciones me ha dado, y alguna que otra vez he pensado volver a él, pero los ojos de uno parece ser que no son lo que eran y se resienten. O eso o es que me he acostumbrado al e-ink.
Luego, en rápida sucesión, vino un iLiad y un Cybook Gen3, ambos vendidos sin tener apenas un año de uso. Ambos funcionaban perfectos para su tarea, sobre todo con el formato PRC de Mobipocket, aunque con limitaciones que no me molaban nada. El iLiad era el quiero y no puedo del A4, los PDF en A4 apenas se podían leer, y los PRC resultaban demasiado anchos, con lo que al final tenía que formatearme PDF al gusto, cosa que he explicado cómo hacer ya por estos lares.
El Gen3 iba también muy bien, y la gestión de las fuentes era exquisita, con un renderizado impecable, pero tenía la misma pega que el iLiad con los PDF o, mejor dicho, salvo que formatearas un PDF para 6”, no podías leerlo, y a veces ni eso, porque si el contenido era complejo o bien se colgaba o bien se reseteaba, cosa que también le pasaba en menor medida al iLiad, pese a ser más robusto en este aspecto. Otra cosa del Gen3 eran los botones, demasiado duros los que interesaban que fueran blandos y justo al revés, con lo que siempre estabas apretando los que no querías y los que querías no había forma y terminabas con dolor de dedos. Todo esto también lo he contado con anterioridad.
Más tarde vino un LBook que es un HanLin original remarcado, igual que lo es el Papyre español (que por cierto nadie lo llama español excepto los tontos de la prensa que, como siempre, no se enteran de nada). La idea para comprar este aparato es que es, en su tamaño, es el más abierto del todo y cuenta con una espuerta de firmwares diferentes, hasta uno completamente Open Source.
De lo que uno no se da cuenta hasta que lo prueba es que, excepto el último, los demás son variantes del mismo núcleo, y como todos los diferentes firmwares tienen más o menos los mismos problemas, los bugs están en el citado núcleo y poca ventaja tenemos: el medidor de la batería es una mierda y nadie lo arregla, con lo que muchas veces se te apaga cuando está marcando el 50% de carga, otras sufre un misterioso agotamiento baterieril estilo muerte súbita y lo tienes que poner a cargar o no es capaz de arrancar. Otro tema es que se cuelga, y mucho. Vas a pasar página y se ha colgado, lo mismo que reiniciarse. Y cuanta menos batería tenga, más se reinicia (ojo, no seamos exagerados, muchas veces lees un libro entero sin un cuelgue, otras lo hace un par de veces, y las menos se tira un par de semanas funcionando como un reloj).
Luego está el tema del formato. El visor para Mobipocket, RTF, TXT y WOLF es testimonial, apenas tiene opciones y de vez en cuando, revienta. El del PDF es algo mejor, pero, aparte de no tener ninguna opción aparte del zoom, tiene bugs desde su primera versión (como el que parte una palabra completa como si fueran dos –en medio del texto, no tiene nada que ver con el guionado de final de línea) que no se van a solucionar y que, como el PDF sea un poco complejo, extrañamente (¡), revienta. El FB2, que es el nativo y en el que se suelen diferenciar los diferentes firmwares existentes, también tiene sus cosas y, aparte de reventar (¡qué extraño!) regularmente, presenta problemas de formato y a veces el texto resultante es prácticamente ilegible.
Estos problemas no son de hardware, no, sino de software, y nadie los arregla, ni siquiera la empresa matriz que ha creado el aparato, lo que desde mi punto de vista es una verdadera vergüenza. Y no es el hardware porque el firmware de OpenInkport (el Open Source) funciona de cojones con una estabilidad a prueba de bombas. Aparte de medir el nivel de la batería de forma impecable es completamente estable, aunque tiene otras pegas. Como todo proyecto Open Source sin patrocinador que ingrese dinero regularmente y marque unas directivas, el proyecto se divierte en cambiar de distribución base y en hacer otras florituras en lugar de ir avanzando en la dirección correcta y de hecho, a apenas 8 días de la versión 0.2, todavía están presentes los 45 tickets (problemas) que estaban hace tres meses, cuando se retrasó por dicho tiempo. En fin, que a OpenInkport, pese a tener un firmware casi funcional, mucho futuro no le veo. Aparte de agotar la batería más rápido, de tardar más en encender y de no tener opción de apagar mediante botón (hay que hacerlo a través de un menú), los visores con cojonudos y muy estables, cargan los libros muy rápido y pasan página todavía más velozmente. Una lástima.
Mi último cacharro es un DR1000, que con el último firmware 1.6 comienza a ser algo medianamente serio y funcional. No se cuelga, carga los PDF A4 bastante rápido y en principio no conoce limitación en cuanto a su tamaño y complejidad. Pero sólo sirve para A4, o más bien leer una novela en formato Mobipocket con esa anchura resulta bastante pesado. Tiene soporte para diccionario global (puedes buscar una palabra o bien marcándola en el texto o bien a mano desde cualquier lugar) y la duración de la batería es, ahora mismo, justita pero sin las burradas de las tres horas de antes. Además, tiene un juego de Sudokus y Kakuros y un port del FBReader ambos realizados por la comunidad.
2.- Historia del Kindle
De siempre he estado interesado en uno, ya cuando salió el primero me interesé, pero inmediatamente me echó para atrás el hecho de que sólo podía cargar libros a través de la red telefónica propietaria… cosa que es mentira, hecho que no descubrí hasta poco después de la salida del Kindle 2 y gracias a JaviJavier, que se compró uno y se lo trajo, lo que me dio por bajarme (y leerme) el manual del DX (el futuro pseudo-A4) y luego el del 2.
Resulta que estos aparatos pueden leer Mobipocket sin DRM, audiolibros también sin DRM, ficheros TXT y mp3, y que conectándolo a un PC presentan una unidad flash como otro cualquiera y puedes sacar y meter libros sin más. De la publicidad yo había entendido que la única forma de cargar un libro en el aparato era enviarlo por correo electrónico a Amazon y ellos lo devolvían a través de la red telefónica, pero afortunadamente no es así. Lo que sí hace es que si envías a una dirección de correo electrónico un libro en, por ejemplo, PDF, ellos te lo devuelven automáticamente formateado para el Kindle.
Realmente esa es la forma de comprar libros en Amazon: tú lo compras y ellos te lo envían protegido con DRM a través del proveedor wireless… si quieres, porque también puedes bajártelo e instalarlo por la vía clásica de poner un cable USB entre el aparato y tu ordenador… Es como si Amazon quisiera pero no quisiera extender el aparato a nivel mundial.
Y de hecho en Amazon tú tienes tu página personal de tu/s Kindle/s y ahí puedes configurar y hacer lo que quieras, parecido a como se hace con, por ejemplo, Fictionwise, la tienda en donde yo me compro los Analog SFF.
Por lo tanto el aparato es cerrado pero no es tan cerrado como nos quieren hacer ver. El problema es comprarlo fuera de USA, y esto también se puede hacer, que es lo que yo he hecho y voy a explicar en la siguiente sección.
3.-Comprar un Kindle 2 y traerlo a España
Uno puede leer en internet muchas tonterías sobre cómo comprarlo, pero hay una que funciona seguro porque conozco, aparte de mí, a dos personas más que lo han hecho y les ha funcionado (aranceles aduaneros aparte, aissss).
Lo primero es tener una cuenta en la web de Amazon. Si eres comprador de libros en papel allí ya la tendrás, como es mi caso. Y sabrás que no es necesario que tu tarjeta de crédito sea americana, yo he comprado siempre con una Visa de débito de la CAM, más cutre no podría ser, y sin embargo funciona con al menos los más de mil euros que llevo gastados en libros en Amazon (no de una tacada, aunque la última fue de más de trescientos euretes, casi nada).
Lo segundo, y aquí está el truco del almendruco, es darte de alta en un servicio como el de MyUS.com, que te da una dirección situada en USA. En apariencia la dirección es la de un apartamento en un bloque de apartamentos, pero realmente es un casillero en un almacén. La cuenta básica vale 10 dólares USA, y es la que yo he activado. Hay cuentas más caras, que te ofrecen menos recargos sobre lo que recibes, y no estoy seguro si la “Standard” es válida sólo para un uso o no. Realmente me da igual, ya que sólo la voy a utilizar una vez. Me consta que hay más servicios de este tipo, pero MyUS ha sido el que me han recomendado.
Una vez que tienes dicha dirección americana, te vas a Amazon y compras el aparato, pero a la hora de indicar una dirección de envío, pones la que te han dado en este servicio. Amazon tragará como al parecer traga la mayoría de tiendas online de USA, pagas y listo.
Yo he llegado hasta aquí, es decir, hasta comprar el Kindle 2 y enviarlo a dicha dirección. Maldita la hora que decidí ahorrarme 16€ y elegí el Free with Super Saving, que envía gratis a través del equivalente a Correos en USA… Lo que en un principio y según Amazon iban a ser 5 días se está convirtiendo en 20: 5 para que el producto salga de Amazon, y 15 más para que llegue a destino. Y luego nos quejamos del Correos español. Si no pasa nada tendré en mis manos el Kindle 2 a finales de la semana que viene o principios de la siguiente… En fin, a San Joderse tocan.
Y a partir de aquí hablo de oído, pero no hay ningún motivo para desconfiar. Una vez que los de MyUS reciben tu paquete, te avisan con un correo electrónico diciéndote que lo tienen y te dan opción –creo- a elegir la forma en que te lo envían. Una vez realizado este paso te cargan los portes y un pequeño recargo que varía con el tipo de cuenta y en poco tiempo tienes lo pedido en tus manos.
Notar que esto no sólo es válido en Amazon, también lo es para cualquier otra tienda online americana.
Ya os contaré cuando lo reciba.
4.- Mobipocket, DRM y la madre que los parió
Hay una forma de comprar libros para el Kindle en Amazon desde fuera de USA (que contaré en otro momento) y que van a funcionar en el aparato que compraste. Y también comprar con DRM en otras tiendas que no sean Amazon y leer en tu Kindle, pero antes una cosa sobre el cacharro.
Para disponer de un Kindle en todo su poderío, hay que “activarlo”, es decir, conectarlo por primera vez con la red wireless propietaria, que, entre otras cosas, pone bien la fecha del mismo. Este paso no es estrictamente necesario ya que Amazon, cuando te lo envía, lo activa por defecto y te lo añade automáticamente a tu cuenta. No obstante, hay algunas cosas que no van a funcionar, como cambiar la hora o utilizarlo como navegador web. Aunque hay hacks para todo esto, no son completos. Una de mis intenciones es esa: intentar activarlo a mano, y algo tengo hecho ya, cosa que iré contando en próximas entradas.
Pese a todo, el aparato es completamente funcional en todo excepto en lo dicho. Las actualizaciones del firmware también se hacen online, pero Amazon da la posibilidad de hacerlas por el método clásico, y junto a la disponibilidad de parte del código fuente, es el punto de entrada para los hacks. Iremos viendo todo esto con tiempo.
El formato nativo con DRM del Kindle es AZW, que es una variante del Mobipocket creada ex profeso. Realmente es un fichero MOBI renombrado a AZW con la misma pauta de protección DRM que los Mobipocket y poco más, lo único que cambia es el PID, que se encuentra en un rango especial y que, a primera vista, sólo funciona en Amazon, aunque Fictionwise suele tragar sin problema. El tema está en obtener el PID de tu Kindle, que veremos más abajo.
Para los que no lo sepan, el DRM de Mobipocket es muy sencillo de entender: el fichero está comprimido y encriptado de forma que sólo se desencripta mediante una cadena de 10 dígitos que pueden ser letras o números y el símbolo del $. Y como todo en este mundo, ha sido roto, aunque solo parcialmente. Fictionwise te da la opción de tener hasta 4 PID activos en tu cuenta, por lo que podrás leer tu libro con DRM en hasta cuatro aparatos diferentes a la vez. Y cada seis meses puedes cambiar uno de esos PID, con lo que el DRM no resulta demasiado pesado.
Pero Amazon funciona de otra forma, y sólo te permite un PID que está asociado con tu Kindle (bueno, si tienes más Kindle, tendrás más PID, pero al parecer sólo puedes bajarte el libro asociado a un solo PID, por lo que si quieres leerlo en dos aparatos diferentes tendrás que bajártelo dos veces y no podrás intercambiar el fichero entre ellos).
Por lo tanto se dan cuatro posibilidades cuando tienes un libro con DRM:
1. Comprados en Amazon y leídos en el Kindle.
2. Comprados en Amazon y leídos en otro dispositivo.
3. Comprados en otra tienda y leídos en el Kindle.
4. Comprados en otra tienda y leídos en otro aparato.
La 1 y la 4 son las normales, pero podría interesarnos la 2 y la 3 por cuestiones de precio o disponibilidad[1]. Esto nos lleva a nuevas conclusiones:
1. Quitar el DRM del libro (válido para cumplir los cuatro puntos anteriores).
2. Asociar el PID de nuestro Kindle a otra tienda (punto 2 anterior).
3. Asociar el PID de otro aparato a Amazon (punto 3 anterior).
El punto 2 tiene la pega de que Amazon no publica tu PID ni el Kindle lo trae, pero existe un hack para obtenerlo al partir del número de serie del aparato. El punto 3 es inviable: aun pudiendo convertir el PID de nuestro aparato no Kindle en un número de serie Kindle (cosa que no es posible por el rango empleado), Amazon debe comprobar que los números de serie sean válidos, así que la descartamos y nos quedamos con los puntos 1 y 2.
Nota sobre la legalidad de esto. ¿Es legal quitarle el DRM a un libro? ¿Es legar usar el PID de un Kindle en otra tienda? Desde mi punto de vista la respuesta es sí a ambas. La segunda tiene fácil explicación: nadie puede forzarme a leer un libro en un aparato en exclusiva. ¿Y si se me rompe? ¿Y si me lo roban? ¿Pierdo todo el contenido que he comprado? La primera tiene más miga, pero la justificación viene a ser la misma. Hace un tiempo compré en Fictionwise “The Seekers” de Boorstin porque no podía encontrarlo en castellano, y el libro venía con DRM. Y quiero leerlo en el Kindle porque he vendido los demás aparatos (que no es cierto, pero puede que los sea en un futuro no muy lejano). ¿Tengo que volver al comprarlo? Pues no, máxime cuando lo que se paga no es el continente, sino el contenido. No obstante no soy experto en leyes y lo mismo todo este párrafo no es más que una p@ja mental.
Y finalmente, lo que todos estábamos esperando:
5.- Cómo quitar el DRM a un fichero Mobipocket
Lo que primero necesitas es un fichero Mobipocket con DRM, y uno de los PID asociados a él. Por eso he dicho antes que estaba parcialmente resuelto, porque necesita un PID. Aparte, de este modo, al ser el fichero nuestro, nadie tendría por qué decirnos nada mientras no lo distribuyamos, cosa que no debemos hacer (y no lo digo como el típico disclaimer, no, sino que lo digo en serio).
Ahora que tenemos eso es momento de instalar el ActivePython, que es un Python mejor que el propio Python. Supongo que instalando el Python normal también funcionará, pero no lo sé. Como es una herramienta multiplataforma, podemos elegir nuestro sistema operativo: http://www.activestate.com/activepython/downloads/
Una vez instalado, debemos buscar en Google o en donde queramos “MobiDeDRM” sin las comillas, lo que nos llevará, aparte de a algunos tutoriales, a una descarga bittorrent. Esa es la que debemos elegir y descargar (cómo descargar un bittorrent es otra guerra, si no sabes cómo, mira por ahí –con el navegador Opera es un instante). El fichero ZIP se llama 4DeDrmFiles.zip, y contiene cuatro scripts en Python que vienen renombrados a TXT. Debemos tomar el que se llama “Python Script for MobiDeDRM.py 0.02.txt”.
Lo podemos renombrar cómo queramos, quizás “MobiDeDRM.py”. Y ahora es cuestión de dejar el script y nuestro fichero Mobipocket en una carpeta sin espacios en blanco. Repetimos: Sin espacios en blanco.
Abrimos una consola de comandos y podemos probar a ejecutar MobyDeDRM.py a secas. Si hemos instalado bien el ActivePython, el script se ejecutará y veremos que nos dice cómo usarlo:
MobyDeDRM.py <fichero_orig> <fichero_dest> <PID>
Primero ponemos el nombre completo del fichero con DRM, luego el que queramos que esté libre de él y finalmente el PID. Por ejemplo:
MobyDeDrm.py THESEEKERS.PRC THESEEKERS_NODRM.MOBI 12345$7890
Y tras la ejecución del script, tendremos un fichero sin DRM llamado “THESEEKERS_NODRM.MOBI”. Generalmente la extensión MOBI se usa para ficheros genéricos sin DRM, y las demás (como PRC, AZW, etc) dependen del dispositivo al que están destinadas.
No obstante, si no te funcionara (hay varias versiones de compresión y de encriptación), puedes usar la versión 001 que se acompaña en el ZIP o bien buscar por internet la 004, el tema está en que alguna de ellas debe quitar el DRM.
6.- Obtener el PID de un Kindle a partir de su número de serie
Finalmente vamos a explicar cómo obtener el PID de un Kindle, cosa que no he probado porque todavía no he recibido el que he comprado [suspiro de España] pero conozco a gente a la que le ha funcionado.
Quien quiera la fuente original de esto, puede encontrarla aquí: http://igorsk.blogspot.com/2007/12/mobipocket-books-on-kindle.html. Igor es un afamado hacker a nivel mundial que, entre otras cosas, ha creado parches para el Sony Reader.
Si no hemos instalado el ActivePython de antes, debemos hacerlo ahora, ya que, de nuevo, son scripts de Python.
Para averiguar el PID de un Kindle debemos ejecutar “kindlepid.py”:
Kindlepid.py <numero_de_serie>
Y nos devolverá el PID asociado al Kindle. La diferencia entre un PID de Kindle y uno normal es que el primero lleva un asterisco en donde el segundo lleva un $, por lo que algunas tiendas rechazarán el PID. Hasta donde yo sé, y de momento, Fictionwise no lo hace y acepta.
Con este PID podemos o bien comprar en otras tiendas o bien quitar el DRM a nuestro libro comprado en Amazon y obtener uno sin DRM.
No obstante, si compramos fuera de Amazon y queremos leer nuestro libro con DRM en nuestro Kindle, todavía debemos ejecutar un paso más, y es transformar el PRC en AZW activando ciertos elementos del fichero.
Para ello cogemos el segundo script que nos viene en la descarga de Igor y lo ejecutamos:
Kindlefix.py <fichero_prc> <Kindle_PID>
Con eso nuestro fichero se transformará en un AZW completamente funcional.
No obstante, hay quien dice que con el Mobipocket 6.0 (no la última 6.2, sino la 6.0), al enchufar un Kindle al USB, genera el PID de igual forma que lo genera –u obtiene- de otros aparatos.
Para finalizar, he de decir que esto último no lo he probado, pero hay mucha gente que dice que funciona… y otra que no, aunque en general parece ser que lo hace bien. De todos modos, con obtener el PID del Kindle y luego remover el DRM es suficiente.
[1] Evidentemente existe la opción de irte a la mula y bajarte lo que te dé la gana, pero aquí sí que estamos en modo completamente ilegal. Y muchas veces lo que quieres o bien no está o bien se encuentra muy mal formateado o el formato se pierde al convertirlo tu.