The latest posts in full-text for feed readers.
Yesterday I purchased an ebook from buecher.de, Corvus by Neal Stephenson. Apart from the water mark file it contains advertisements that take half of the size of the ebook file.
The DRM-free .epub file is 3.8 MiB in size. It is a zip file, and the unzipped contents are 6 MiB.
There are a lot of files in the folder OEBPS/BICMediaMarketing/, and their size sums up to 2.98 MiB. The non-BIC files are 3.04 MiB. Nearly 50% of the ebook's size are advertisements :(
Similar to ads bloating websites and making them so unusable that we have to use ad blockers, advertisements in ebook files waste bytes on our hard disks and make downloads slower.
I know who get electronic books without adverts: Pirates.
Similar to pirates having a
much better movie experience
than people buying and playing DVDs.
2048 2023-10-12 19:11 OEBPS/BICMediaMarketing/marketing.css 2907 2023-10-12 19:11 OEBPS/BICMediaMarketing/mp1.xhtml 763 2023-10-12 19:11 OEBPS/BICMediaMarketing/lastpage.xhtml 162174 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/253EF476A2ED49549DED6D5B26C0EA1A.xhtml 859 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/336E6DD3E68F4990B1D19F3CA30C4990.xhtml 623 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/6FE2556344D849B281E012E50151547D.xhtml 1112 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/9B8E49F3338942609923919A284CB82E.xhtml 1009 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BAED857E61C049ECB974C479521A9207.xhtml 1025293 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/cover.jpg 748 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/cover.xhtml 2958 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/DA9C6990BEF64CE68BF0407505CF793F.xhtml 484 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/E8719B7E1C4B4C418F61C704A8FD8134.xhtml 721 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/toc.ncx 10054 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/70653622D0534CC6B6C67CBE13E33104.xhtml 1548 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Amazon.gif 1191 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Apple.gif 1397 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Google.gif 10740 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Kobo.JPG 2517 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/tolino.gif 20577 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Kostenlos_reinlesen.gif 45514 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Kostenlos_reinlesen.PNG 60808 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Kostenlos_reinlesen_klein.png 8724 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/button--reinlesen--color.png 5155 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/button--zumshop--color.png 46701 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Zur_Bestellung_mit_einem_Klick_50.png 6050 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/button--one-click--color.png 9294 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/Kostenlos_reinlesen2.png 1712 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/BICMediaMarketing/marketing.css 3582 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/image/153C113ED16D44E4B456D68D5AC45E41.jpg 3914 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/image/372C80CDB20A44AE86BA05250A1FB430.jpg 3175 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/image/4451B938ADFD4EA89F1F71CEC775730C.jpg 3172 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/image/5C5B46C79F5C45128F4142D96EA0DAEA.jpg 9272 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/image/F6C0DD5F607649E282DA83BCBB0D67DA.jpg 77824 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/AGaramondPro-Bold.otf 94208 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/AGaramondPro-Italic.otf 126976 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/AGaramondPro-Regular.otf 73728 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/FuturaLTPro-Book.otf 106496 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/HelveticaLTPro-Oblique.ttf 106496 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/font/HelveticaLTPro-Roman.ttf 16357 2023-10-12 19:11 OEBPS/BICMediaMarketing/9783641300852_shortened/OEBPS/css/idGeneratedStyles.css 37278 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/9783641300852_front.jpg 757076 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/DejaVuSans.ttf 1548 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Amazon.gif 1191 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Apple.gif 1397 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Google.gif 10740 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Kobo.JPG 2517 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/tolino.gif 20577 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Kostenlos_reinlesen.gif 45514 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Kostenlos_reinlesen.PNG 24354 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/mehr_zum_buch.png 8724 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/button--reinlesen--color.png 5155 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/button--zumshop--color.png 9294 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/Kostenlos_reinlesen2.png 145531 2023-10-12 19:11 OEBPS/BICMediaMarketing/BICMediaMarketing/rh_bg640_6.jpg
I chained together some command line tools to get the size.
$ unzip -l Stephenson_Corvus_9783641249878.epub\
| head -n-2 | tail -n +4\
| grep BICMedia\
| sed 's/^ *//' | cut -d' ' -f1\
| xargs | sed 's/ /+/g' | bc
3129777
$ unzip -l Stephenson_Corvus_9783641249878.epub\
| head -n-2 | tail -n +4\
| grep -v BICMedia\
| sed 's/^ *//' | cut -d' ' -f1\
| xargs | sed 's/ /+/g' | bc
3193311
Published on 2024-04-24 in bigsuck, books
Die deutschen Bibliotheken nutzen eine gemeinsame Plattform "Onleihe", auf der man digitale Bücher, Musik und Filme ausleihen kann. Technisch wird seit 2018 "LCP" als DRM-Technologie eingesetzt. Damit wird verhindert, daß ausgeliehene Bücher länger als erlaubt gelesen werden.
LCP steht für "Licensed Content Protection" und wurde von der Readium Foundation entwickelt, hauptsächlich von der französischen Firma European Digital Reading Lab. Im Gegensatz zum vorher verwendeten Adobe Digital Editions muss man sich dafür nicht registrieren und braucht auch keinen PC, um die Bücher auf den e-Reader zu bringen: Tolino-Geräte und andere haben LCP integriert.
Manchmal wird dieser Kopierschutz als "CARE" bezeichnet. CARE ist aber eine Software der Firma vivlio, mit der man Bücher mit LCP verschlüsseln und verteilen kann. Diese Server-Software wird vermutlich von der Onleihe verwendet.
Man öffnet im Browser die Website der Onleihe, meldet sich mit den Kundendaten seiner Bibliothek an und kann Bücher direkt ausleihen. Dazu wählt man die Ausleihdauer (2, 4, 7, 14 oder 21 Tage) und bekommt eine .lcpl-Datei zum Download. Der ebook-Reader liest die Lizenzdatei ein, lädt die dazugehörige .epub-Datei runter und packt sie in die Bücherliste.
Man wird dabei nach dem Onleihe-Code gefragt. Er ist 4-stellig, besteht aus kleinen Buchstaben und Zahlen, und ist für jeden Benutzer fest - also für alle Bücher gleich. Der Reader merkt sich den Code und wenn man ein Buch öffnet, wird das aktuelle Kapitel mit diesem Code entschlüsselt und angezeigt.
Wenn man den User-Agent ändert, kann man den eReader-Modus der Onleihe auch in einem normalen Browser aktivieren:
Mozilla/5.0 (Linux; Android 4.4.2; en-; tolino vision 3 HD/14.1.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Mobile Safari/537.36 READER OS_BUILD/KOT49H.41429.1044823
Siehe auch: Readium LCP: Principles.
Die Spezifikation von LCP ist frei verfügbar. Die Readium Licensed Content Protection 1.0 ist die, in der es um die Verschlüsselung geht.
Die von der Onleihe runtergeladene .lcpl-Lizenzdatei beschreibt die Restriktionen: Von wann bis wann der Inhalt entschlüsselt werden darf (Ausleihzeitraum), wie viele Seiten gedruckt werden und wie viele Zeichen in die Zwischenablage kopiert werden dürfen. (Lustigerweise ist nicht wirklich definiert, was eine Seite ist.)
Weiterhin enthält sie einen Link zum Runterladen der verschlüsselten .epub-Datei und den Schlüssel, mit dem deren Inhalt entschlüsselt werden kann - dieser ist aber selbst noch mit dem Benutzerschlüssel verschlüsselt.
Der Benutzerschlüssel ist ein SHA-256-Hash des vierstelligen Codes, der in der Onleihe unter dem "Download"-Knopf angezeigt wird.
Sobald man die Lizenzdatei und die ebook-Datei heruntergeladen hat, kann man komplett Offline entschlüsseln und lesen.
Weiterhin enthält die Lizenzdatei auch noch eine ID in normaler und verschlüsselter Form. Damit kann man schnell prüfen, ob der vom Benutzer eingegebene Code korrekt ist. Auf der anderen Seite erlaubt es das Angreifern auch, Codes ohne großen Aufwand durchzuprobieren.
Eine .epub-Datei ist eine .zip-Datei, und eine mit LCP verschlüsselte epub sind immer noch eine .zip-Datei. Darin gibt es die Datei META-INF/encryption.xml, die eine Liste der verschlüsselten Dateien enthält.
Einige Dateien wie der Index sind nicht verschlüsselt, aber die Textkapitel und (Cover)bilder sind meist alle verschlüsselt.
Da der Inhalt von epub-Dateien meist auf mehrere HTML-Dateien aufgeteilt ist, muss der eReader auch nicht gleich das ganze Buch entschlüsseln - sondern nur das Kapitel, das gerade gelesen wird.
Da die Onleihe-Codes auf kleine Buchstaben und Ziffern beschränkt sind, gibt es nur 36^4 = 1.679.616 mögliche Schlüssel - etwas weniger als 21 Bit. Das ist für ein Verschlüsselungssystem ziemlich wenig; SSH- und SSL-Schlüssel haben seit zehn Jahren mindestens 2048 Bit. Sicherheitstechnisch kann man das nicht ernst nehmen.
Die Anforderungen an LCP sagen uns, warum das so ist:
A key objective in providing “some level of protection” is to take advantage of anticircumvention law, [...]
Anticircumvention law makes it a criminal offense to circumvent an “effective technical protection measure.”[5] The law does a poor job of defining this term. While courts have refused to set a bar for “effectiveness” such that any technology below the bar is not entitled to protection under the law,[6] there is some evidence to suggest that a technology that is particularly ineffective could face such a challenge.[7]
[...]
To be very clear on this point: we expect that a lightweight DRM (in reality, any DRM) will be cracked, and we are relying on anticircumvention law for some level of crack protection.
LCP ist also der Versuch mit minimalem Aufwand einen Kopierschutz zu bauen,
der von Gerichten als "wirksame technische Maßnahme" anerkannt wird.
Damit sollen Umgehungsversuche und -software gesetzlich strafbar sein.
Ich denke aber nicht, daß nur 1,6 Millionen Möglichkeiten
ein wirksamer Kopierschutz sind.
Readium führt eine Liste mit "Verschlüsselungsprofilen" - dort werden alle erlaubten Verschlüsselungsalgorithmen aufgeführt. 2023-08 sind das folgende:
Das "Basic Encyption Profile" ist in der öffentlich verfügbaren Spezifikation bescrieben, aber das "Production Encryption Profile" ist nicht öffentlich.
Das EDRLab verfolgt alle, die Informationen dazu öffentlich verfügbar machen oder freie Software anbieten, die das Profil implementiert:
Published on 2021-03-12 in books, tolino
Nach dem Aus von diesel-ebooks.com bestellte ich das erste Mal bei buecher.de ein ebook im ePub-Format. In der Beschreibung war "Schutz: Wasserzeichen" angegeben.
Im Gegensatz zu DRM stören Wasserzeichen nicht bei Lesen, und ich kann auch meinen alten Nook (eBook-Reader der 1. Generation) zum Lesen nutzen.
Nichtsdestotrotz interessierte mich, wie das Wasserzeichen umgesetzt ist.
Um sicher zu gehen, daß ich bei der Analyse nichts übersehe, kaufte ich zwei billige Bücher von zwei unterschiedlichen Benutzerkonten. Verlag war in einem Fall der "Dryas Verlag" aus Frankfurt am Main, im zweiten Fall der Pabel-Moewig Verlag KG, Rastatt.
Dann extrahierte ich die .epub-Dateien mit unzip und verglich sie mit diff:
$ diff -ur version1 version2
diff -ur version1/META-INF/cdp.info version2/META-INF/cdp.info
--- version1/META-INF/cdp.info2015-08-05 20:27:44.000000000 +0200
+++ version2/META-INF/cdp.info2015-08-05 20:31:50.000000000 +0200
@@ -1 +1 @@
-SHBUECHER.BWS_74671255
\ Kein Zeilenumbruch am Dateiende.
+SHBUECHER.BWS_73267890
\ Kein Zeilenumbruch am Dateiende.
Wie schon bei der manuellen Analyse des ersten gekauften Buches vermutet ist das Wasserzeichen eine Datei namens META-INF/cdp.info, in der eine Nummer steht, die dem jeweiligen Kaufprozess - und damit dem Kunden - zugeordnet werden kann.
Andere Wasserzeichen wären denkbar (Name im Text oder versteckt im HTML, oder ein echtes Wasserzeichen im Coverbild), kommen hier aber nicht zum Einsatz. Aus Kundensicht ist das sehr schön!
Wer nicht möchte, daß persönliche Daten in den gekauften ebook-Dateien stehen, kann sie einfach entfernen:
$ zip -d file.epub META-INF/cdp.info
Published on 2015-08-05 in books, kundeistkönig
The
James Bond
movies are based on novels written by
Ian Fleming,
and I discovered that all of his works entered the public domain in 2015.
While book retailers want 9€ per book (which themselves are not that long), the Internet Archive provides The Complete Ian Fleming as .epub file for download onto your e-book reader, for free.
I'm already the enjoying the first novel on my e-reader.
Published on 2019-09-10 in books, web
Ich habe nach 20 Jahren festgestellt, daß das Scheibenweltbuch "Gevatter Tod" nicht in meinem Bücherregal steht. Nicht im echten und auch nicht in meiner Calibre-Datenbank.
Also hab ich die alte Version bei Medimops bestellt. Beim Auspacken kam mir das Cover des Buches ziemlich bekannt vor, und tatsächlich:
Heyne hat hier aus welchen Gründen auch immer das Coverbild von "Macbest" bei "Gevatter Tod" benutzt. Sachen gibt's.
Published on 2017-07-04 in books, reading
Swati Iyer from Packt Publishing offered me a free copy of Mastering phpMyAdmin 3.1 in exchange for a review on my blog. I got the book, I read it, and here is the review.
"Mastering phpMyAdmin 3.1 for Effective MySQL Management" is a book about - phpMyAdmin. phpMyAdmin is a tool that most web developers use on a daily basis and know in and out. The existing knowledge about PMA is the hurdle that will make most devs refrain from buying the book; 75% of the information presented in the book was already in my head, having used PMA for over half a dozen years now.
Interestingly, the book still contained things that I didn't know and that are noteworthy. For example, I never heard about the multi-table query generator. Other aspects I didn't know about or only sketchily:
The last thing that really excited me was the foreign key dropdowns when using the pma-based linked table infrastructure. Surely I had already seen the dropdowns, played around with and used them, but I never knew that one could customize the format. And, what's way cooler, is that - if there are too much items for the dropdown (number configurable) - you'll get a "browsable foreign-table window" popup! Really nifty.
So I learned something new about phpMyAdmin while reading the book. It's a book for lazy train rides when you don't like to switch on your laptop. The book is 35 US$, so with the low Dollar today, it's a cheap buy for Europeans (and probably becoming cheaper over the next months). If you need it, and if you didn't get enough tips by reading this article.
Published on 2009-06-04 in books, php, reading
Yesterday, 3 months after beginning, I finished reading Neal Stephenson's Anathem. At first the book scared me and my anticipation to read by having 900 pages on nearly A4 size, and by builing up its own language. I'm no native english speaker, so I partly have problems knowing all normal words - not to speak of new ones that are only valid in the book.
I read about the book at Telepolis and gave it a try even though the German version wasn't anywhere near to expect soon. So the first couple 100 pages were really hard, but even then the story fascinated me enough to keep on reading. At first I only read it in the evenings in bed, but then I put it into my rucksack, reading on the train on the way to and from work (half an hour each). Some weeks later, I stopped doing things on my laptop on the train and only read..
Now that it's over, and the story got really - positively - weird, I can only recommend the book to anyone interested into technology mixed into a good novel. I heard that Neal Stephenson's previous books were not some of the better ones, but this was definitely worth the time spent reading on it.
Published on 2008-01-14 in books, reading
Here is a list of books I suggest for reading.
Books I heard to be interesting.
The list will be updated if necessary. Tell me about others.
Published on 2007-06-14 in books, reading