Witam,
udało mi się złamać DRM eClicto. Było to wręcz za proste. Głównym impulsem było nieudostępnienie przez Kolportera kodu źródłowego kernela Linuksa. Androidowy czytnik korzysta też z FBreadera i kilku innych bibliotek/programów open source, ale nie sprawdzałem dokładnie na jakiej licencji są one dostępne i czy jest ona łamana.
Jak wiadomo eClicto wydało aplikację na Androida, a ten używa, jak wiadomo. Javy. Assembly Javy, a właściwie Dalvika , czyli maszyny wirtulanej Androida jest baardzo wysoko-poziomowy dlatego reverse engeenering był prosty. Do zdjęcia DRM-u wymagane jest podanie kilku informacji, jak id telefonu, id androida i jeszcze kilku innych wygenerowanych losowo przez eClicto. Szczegóły znajdziecie w pliku HardwareKey.java, gdyż tam trzeba uzupełnić brakujące dane.
Pracowałem też nad złamaniem DRM-u Managera eClicto (Android używa plików z rozszerzeniem ECA, są to archiwa zip z zaszyfrowanym epubem, a eClicto używa plików EDM), ale zrezygnowałem gdy się okazało, że EDM to zaszyfrowane PDF-y... Ten badziewny manager nawet nie potrafi otworzyć epuba
Jeżeli to kogoś interesuje został napisany w Delphi (kiedyś, wiele lat temu czytałem, że Delphi używają jeszcze tylko cyberprzestępcy w Rosji do pisania malware'u ;P). Kod zdejmujący DRM nie jest zbyt piękny, gdyż nie lubię Javy. Bez problemu można go przerobić na apkę dla Androida, która będzie w 100% zautomatyzowana i nie będzie wymagała ingerencji użytkownika. Zapomniałem napisać w komentarzach w pliku HardwareKey.java co to za plik eClicto.xml. Otóż, jest to plik z zapisanymi preferencjami użytkownika, znajduje się on na telefonie, w folderze, zdaje się, shared_prefs, czy podobnym. Łatwo go znaleźć po nazwie. Życzę udanej lektury na ulubionym czytniku/urządzeniu (i mam nadzieję, że nie jest to badziewne eClicto).
Odnośnik do kodu:
http://multiupload.biz/1ykq4i5hor5b/src ... z.zip.html.
Jeszcze na dowód, że rzeczywiście udało mi się zdjąć DRM, screenshot otworzonego darmowego epuba z eClicto, Badanie procesu czegośtam.