BENVENUTI  ::  CINEMA E TV  ::  INFORMATICA  ::  LETTERATURA  ::  MUSICA  ::  >  ::  PROFILO

Opinabile

è tutto ciò che scrivo, vedi tu se credermi o rendermi infelice...

domenica 29 aprile 2012

ePub DRM Removal

Scopo
Rimuovere la protezione DRM di Adobe da un file ePub.

Premessa
E' una pratica illegale, ma parto da questo presupposto: ho comprato un ebook in formato ePub e voglio leggerlo con il Kindle (che non supporta il formato ePub).

Circa l'uso del DRM da parte delle lobbies/major librarie e non: chissà come hanno fatto ad "ottenere legalità" per l'uso di queste controverse pratiche di protezione/restrizione del possesso dei beni? Argomento interessante. Dibattito apertissimo. Approfondirò questi aspetti, sia dal punto di vista dei detrattori sia da quello dei sostenitori. Ma non in questo Post.

Procedura
Si parte dal presupposto  di avere un sistema che non ha Adobe Digital Editions, Python 2.6 o 2.7 32 bit ed i programmi ineptkey.py e ineptepub.py installati. In casi contrari leggere lo stesso la procedura ed adeguarla a ciò che si ha già.

Altro presupposto è che il file ePub sia relativo alla propria licenza Adobe Digital Editions: in caso contrario verificare lo stesso tutti i passi della procedura, ma, al punto 7), caricare adeptkey.der relativo alla licenza del file ePub da manipolare. Se, per esempio, l'ePub da "sproteggere" è stato comprato da un amico, bisogna che questi sia disponibile a fare questa procedura sul proprio sistema (almeno fino al passo 6)).

Infine: la procedura è stata provata/testata su un sistema Windows XP 32bit e un sistema Windows 7 64bit. Non saprei come procedere nel mondo Linux, ma penso che i passi siano molto simili (se qualche amico "Linux" sa come farlo, ben vengano segnalazioni!).

Ancora un attimo: il tutto è riferito e garantito alla data di pubblicazione di questo post.

Passi

1) Installare ADE
Che cosa è?
E' l'applicazione di Adobe che permette di leggere ebook con protezione DRM di Adobe.

ADE = Adobe Digital Editions
Per ulteriori informazioni sul DRM di Adobe si rimanda alla pagina ufficiale: How DRM works.
A che cosa serve (per lo scopo di questo post)?
Da questa applicazione ricaveremo l'id necessario per togliere il DRM di Adobe dal file ePub.

Come installare?
  • Verificare che ADE non sia già installato (i.e: in Windows se esiste la cartella C:\Program Files (x86)\Adobe\Adobe Digital Editions ADE è già installato...).
  • Se non è già installato:
    1. Sul sito Adobe, andare alla pagina per il download di ADE (i.e: qui)
    2. La pagina presenta un tasto "Avvia": cliccando si scarica automaticamente il programma d'installazione
    3. Il programma di installazione (scaricatosi) si avvia automaticamente: seguire le istruzioni
  • Primo avvio di ADE
    1. Una volta installato, avviare il programma
    2. Alla richiesta di utente password immettere le proprie credenziali Adobe (se non si hanno, effetture prima la registrazione con il link apposito)
2) Installare Python
Che cosa è?
E' un linguaggio di programmazione. Il sito ufficiale è questo.

A che cosa serve (per lo scopo di questo post)?
I programmi che successivamente recupereremo e che serviranno per rimuovere il DRM di Adobe dall'ePub sono programmi Python.

Quale Python?
La versione che istalleremo sarà la 2.6 o la 2.7 (ma non la 3 o superiore!); e sarà per sistemi a 32 bit (anche se il sistema in uso è a 64 bit!).

Come installare?
  • Dal sito ufficiale sito ufficiale di Python cercare la pagina dei download
  • Selezionare il download dell'ultima versione 2.6 (o dell'ultima versione 2.7)
  • Una volta terminato il download, eseguire il setup seguendo i semplici passi (unica cosa da tenere in considerazione: il setup propone il folder Python26 - o Python27; anche se non obbligatorio, tenere questo come folder di installazione).
Una volta installato Python nel sistema si hanno automaticamente valorizzate opportune variabili d'ambiente che permettono di eseguire file di estensione "py" o "pyw" con Python (cioè i file "py" e "pyw" sono automaticamente associati a Python).

3) Installare Pycrypto
Che cosa è?
E' un "modulo" per Python necessario per calcoli e algoritmi per cifrare/decifrare.

A che cosa serve (per lo scopo di questo post)?
I programmi che successivamente recupereremo, che servono per togliere DRM di Adobe dall'ePub, utilizzano il "modulo" Pycrypto.

Come installare?
  • Scaricare la versione 2.5 da qui
  • Decomprimere in un folder temporaneo
  • Dal folder temporaneo eseguire setup.py
  • Eliminare i file dal folder temporaneo (non è obbligatorio, ma per pulizia...).
A questo punto si ha nel sistema sia Python 2.6 (o 2.7) a 32 bit, sia il modulo Pycrypto.

4) Preparare la directory Inept
Prima di procurarsi i programmi Python necessario creare un folder apposito dove "alloggiarli".

Nel mio caso (Windows) ho fatto così:

c:\
--- Programmi (x86)
   --- Inept  <-- ho creato questo folder

Poi, è meglio preparare degli script di lancio dei programmi (che fra poco ci procureremo).
Qui riporto i due script batch (Windows); per gli amici "Linux" sarà semplice tradurli in "sh".

ineptkey.cmd

@ECHO OFF
REM PATH DI INSTALLAZIONE PYTHON
SET PYPATH=C:\Python26
REM RICHIAMO SCRIPT INEPTKEY per recupero chiave ADE
CALL %PYPATH%\python.exe ineptkey.py
PAUSE
 
ineptepub.cmd

@ECHO OFF
REM PATH DI INSTALLAZIONE PYTHON
SET PYPATH=C:\Python26
REM RICHIAMO SCRIPT INEPTEPUB per un-DRM ePub
CALL %PYPATH%\pythonw.exe ineptepub.py
PAUSE

Nota: set PYPATH=C:\Python26 <-- mettere il path di installazione di Python

5) Scaricare in programmi Inept 
Che cosa sono?
Sono due programmi scritti in Python (compatibili con le versioni 2.6/2.7 a 32 bit) che permettono di recuperare la chiave (id) Adobe in seguito all'installazione di ADE (per questo motivo è necessario avere installato ADE nel sistema) e per rimuovere il DRM di Adobe da un ePub che ne è provvisto.

  • ineptkey.py
    (per recuperare la chiave ADE)
  • ineptepub.py
    (per rimuovere DRM di Adobe dal file ePub che ne è provvisto)
Come recuperarli?
Il modo più semplice è "Google".
Io li ho trovati qui: ineptkey.py, ineptepub.py.

Nota:
  • Se si trovano i sorgenti
    1. Creare nel folder Inept file con lo stesso nome del programma
    2. Copiare, dentro il nuovo file, il sorgente
    3. Salvare
  • Se si trova il download
    1. Scaricare il file ineptkey.py e ineptepub.py nel folder Inept.
6) Ricavare adeptkey.der
Che cosa è?
adeptkey.der è il file che genera il programma  ineptkey.py: è la "chiave" (id di Adobe) recuperata.

Come ricavarlo?
  • Lanciare lo script ineptkey.cmd
    (oppure direttamente ineptkey.py...)
Se tutto è andato bene, nel folder Inept si avrà il file adeptkey.der.
Non sarà più necessario generare adeptkey.der (a meno di nuova installazione di ADE...), tuttavia lasciare lo stesso il programma ineptkey.py (se lo si rilancia verrà rigenerato un file adeptkey.der presumibilmente identico al precedente).

7) Rimuovere DRM di Adobe dall'ePub
  • Lanciare lo script ineptepub.cmd
    (oppure direttamente ineptepub.py...)
  • Apparirà una finestra di dialogo
    1. Inserire il .der (i.e.: adeptkey.der)
    2. Inserire il file ePub dal quale rimuovere DRM di Adobe
    3. Inserire il nome del file di output che verrà generato (e che sarà l'ePub privo di DRM di Adobe)
    4. Decrypt...
A questo punto si avrà un nuovo file ePub libero da protezione DRM di Adobe.

Se si hanno altri file ePub con protezione DRM di Adobe legati al proprio id, per la rimozione di tale protezione basterà ripetere il passo 6).

Riferimenti
Ho già abbondantemente citato molti link di riferimento, ma non quelli dai quali ho tratto le informazioni per scrivere la procedura. Su Internet ci sono svariati siti/articoli/forum a riguardo. In questo post ho fatto tesoro delle informazioni contenute in alcuni di questi. Ne segnalo qui giusto solo un paio:

LR.


Ti potrebbe interessare anche:
- Kindle, Ebook, libri di carta... appunti frettolosi
- Kindle 4? A colori? Touch? Qualche link...

11 commenti:

  1. Come diceva Al Delvecchio (secondo proprietario di Arnold's in Happy Days)... Eh già, già, già, già...

    Purtroppo (o per fortuna?) è vero: mi tocca fare il pirata! ;)

    Comunque, data la "premessa" lo considero un bel complimento. (1)

    Grazie Ryo :)

    RispondiElimina
  2. Non c'é niente di piratesco nel volersi leggere i propri libri in santa pace su qualunque apparecchio. Tra l'altro non è vieteto eliminare i DRM: è vietato però distribuire libri sprotetti.
    Inutile crucciarsi per Linux. Chi lo usa (come me) non neanche Adobe DE né Kindle...
    Per chi vuol fare meno fatica http://epubee.com/
    Grazie, LR

    RispondiElimina
    Risposte
    1. Concordo, anche se non sono un avvocato: il buon senso mi dice che non ha molto senso il sistema DRM così come è concepito; per lo meno nei confronti dei "consumatori"...
      Ho sempre poco (troppo poco!) tempo per questo mio piccolo blog, ma mi piacerebbe affrontare l'argomento a 360 gradi, magari scrvivendo un post che, in qualche modo, riassuma (con link, rimandi, etc.) alle scuole di "pensiero" pro e contro DRM.

      Per quanto riguarda http://epubee.com/ l'ho già provato, ma, al momento della scrittura di questo post, ho visto che il metodo migliore era ancora quello riassunto in questo Post (anche epubee mi pare faccia così). Naturalmente questa è la mia esperienza. Se a qualcuno va bene epubee, allora viva epubee! tutto ciò che semplifica, se funziona, dovrebbe essere la strada migliore!

      Grazie Max per avere condiviso il tuo pensiero.

      Elimina
  3. ciao scusa la domanda ma a me non installa pycrypto...apro la cartella compressa e faccio doppio clic su setup.py...ma nulla...quando poi vado ad aprire inetkey.py mi dice che mi serve pycripto!

    cosa posso fare?...ho win 7 x64

    grazie

    RispondiElimina
    Risposte
    1. Metto subito le mani avanti: non sono un esperto di Python e a me ha funzionato subito... vabbè c'ho provato! :)

      Scherzi a parte, vediamo se posso darti una mano "virtualmente" e a distanza.

      Smarchiamo subito un dubbio. Nel commento hai scritto:

      > apro la cartella compressa

      Se ho capito bene non hai "decompresso" la cartella in un folder temporaneo. Se così fosse:
      1. decomprimi
      2. prova a cliccare su setup.py e vedere se ti parte l'installazione

      Se la cosa non funziona (o comunque ho capito male ed avevi già decompresso in un folder temporaneo), allora bisogna agire in un altro modo.

      Credo che ti sia "arenato" qui:

      > "Dal folder temporaneo eseguire setup.py"

      In effetti io ho cliccato e mi è "partito" Python ed ha installato; quindi sono stato un po' vago nel descrivere questo punto.

      Provo a rimediare.

      Nel folder dove si è "unzippato" il materiale, tra le altre cose, c'è il file README. Aprendolo con un "Notepad" qualsiasi, verso il fondo, si legge:

      "To install the package under the site-packages directory of your Python installation, run "python setup.py install"."

      Quindi proverei ad agire così:

      1. nel folder temporaneo (dove si è "unzippato" il materiale e, quindi, dove si trova setup.py...), creo il seguente file:

      setup.cmd

      il cui contenuto (uso un normale "Notepad") è il seguente:

      @echo off
      SET PYTH=c:\Python26\python.exe
      call %PYTH% setup.py install
      pause

      NOTA: PYTH è la variabile di comodo che "mappa" il python.exe, completo di path, da usare...

      2. Da una shell (finestra DOS) mi posiziono sul folder temporaneo

      3. A questo punto, sempre dalla shell, lancio setup.cmd

      L'ho appena fatto e "qui" pare funzionare.
      Spero che anche da te funzioni.

      Fammi sapere.

      Ciao.

      Elimina
  4. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  5. Grazie per l'articolo interessante!
    Io ho provato anche questo sistema molto semplice:
    http://www.photocopyebook.com

    RispondiElimina
  6. Non so come mai, ma io con il pacchetto phyton ufficiale ho avuto problemi quando tentavo di installare il pcrypto (mi sa che c'erano problemi tra le versioni) allora ho installato la versione community (ovvero la versione free) dell'active phyton
    http://www.activestate.com/activepython/downloads
    poi per installare il pcrypto ho fatto:

    pypm install pycrypto

    dalla shell python

    RispondiElimina
  7. in ubuntu lo script per creare il file .der non mi funziona, il messaggio di errore è:

    This script only supports Windows and Mac OS X. For Linux you should be able to run ADE and this script under Wine (with an appropriate version of Windows Python installed).

    puoi darmi una mano per favore???

    RispondiElimina
  8. Chiedo scusa a tutti per il non tempestivo intervento nei commenti.

    Comunque.

    Ho forti dubbi sul fatto dell'attuale validità di questa procedura (21 maggio 2014). Purtroppo non ho avuto più l'occasione di ri-estarla (perdono! ;)).

    Per quanto riguarda ADE e Linux: credo che ADE funzioni su Windows e Mac, oppure su Linux ma con Wine.

    Qualche link:

    http://www.adobe.com/products/digital-editions/tech-specs.html

    https://forums.adobe.com/message/4678336

    http://ubuntuforums.org/archive/index.php/t-701191.html

    http://robert.penz.name/440/howto-install-adobe-digital-editions-on-ubuntu-12-04-and-use-it-with-an-e-book-reader/

    Grazie, ciao.

    RispondiElimina

Lascia un tuo commento...




ポストの決勝戦!


 

Lettori fissi...
se non funziona fai refresh (baco di Blogger!) altrimenti "segui" in alto a sx!

Seguo anche...

Piccolo spot per un amico...