apprenticeharper / DeDRM_tools

DeDRM tools for ebooks
14.56k stars 1.52k forks source link

Fidibo Books #2026

Open aliafshany opened 2 years ago

aliafshany commented 2 years ago

Hello there, I hope everything is going well for you.

The purpose of this discussion is to figure out how to decode Fidibo's DRMs. Fidibo is an ebook retailer based in Iran, similar to Amazon or a number of other sites ( which does not follow any copyrighted content). fidibo.com

As a result of my research, I was able to locate a few programmers who were able to remove DRM, but none of them were willing to share their solution, not even providing some keywords so that you might conduct your own research.

I would like to ask if there are any persons who could assist me with this subject; I would be grateful if you could.

I have an Amazon Kindle, and removing Fidibo's DRM is purely a personal preference for me; I am not attempting to profit from it.

Here is a link to two Fidibo books: https://drive.google.com/drive/folders/1BVkkGaO5MYOSxZURK8ZIu_G0rdBr5naj?usp=sharing

noDRM commented 2 years ago

I found this python script that looks like it could be able to decrypt Fidibo books: https://github.com/aryahadii/bookworm/blob/master/fidibo/api.py

I don't know if there's an easy / good solution to embed this code into the DeDRM plugin - first, there's no easy way to check if a given EPUB file is encrypted with Fidibo DRM, and second, it looks like there isn't one "user key" to dump that could be added to the Calibre plugin, but instead the plugin would need to contact Fidibo' servers (with the user account credentials) each time to decrypt a book.

aliafshany commented 2 years ago

greeting Thank you for taking the time to find this repository. I recently saw an issue where someone mentioned it doesn't function anymore, but do you believe you'll be able to get it to work? Regarding the key you mention. The key is split into two parts: the first 68 bits are static and formed at runtime, and the second 68 bits, as you mentioned, are unique to each book. The second key is encrypted using the "AES/CBC/PKCS5Padding" method.

Based on the Imei and phone model, the first 68-bit key is generated.

*the values in these images have been altered.

image image

1mohammad7 commented 1 year ago

I'm in a similiar situation, and I want to pursue it when I'm free, we can brainstorm on how to do it.

aliafshany commented 1 year ago

@1mohammad7 you can start reading this then

https://github.com/ozymahdias/HackTheFidibook

ebad84 commented 1 week ago

greeting Thank you for taking the time to find this repository. I recently saw an issue where someone mentioned it doesn't function anymore, but do you believe you'll be able to get it to work? Regarding the key you mention. The key is split into two parts: the first 68 bits are static and formed at runtime, and the second 68 bits, as you mentioned, are unique to each book. The second key is encrypted using the "AES/CBC/PKCS5Padding" method.

Based on the Imei and phone model, the first 68-bit key is generated.

*the values in these images have been altered.

image image

what tool you used on this image?