Hi, i thought about this for quite a long time ( few months) and tried several approaches (in Theory). Is there a good way to write a Kernel-module that helps (on the Kernel Layer) to decrypt DVDs without extra programs.
What im trying is following: Insert my own Kernel-module(better based on an existing Module which i just modify) and dump an encrypted DVD just with dd like:
dd if=/dev/dvd of=~/dvd.iso bs=2048
Basically, i'd like to do the same thing AnyDVD does in Windows. As far as i'm understanding this is that Anydvd is a "Filter Driver" that filters the Encrypted Data stream, decrypts it and sends it to whatever device.
-> You can just copy a DVD via the File Browser.
My problem is that in Linux/Unix does not exist this Filterdriver concept.
I came up with 3 approaches:
1: insert some of the DeCSS code into the VFS code( .. check if the Filesystem that is to be read UDF .. parse the data through DeCSS etc.).
Problem .. the VFS Code is in the Kernel, not extra as a Module - I'd like to write it in a way that it is reusable for others easily.
2: insert the DeCSS code into the UDF driver.
Problem: The Source is Waaay to complex for me right now (i have no idea where i should insert the DeCSS code) - don't know if it is even possible.
3: A new Device that accesses the /dev/dvd device.
Problem: I need to learn how to write a Kernel module from scratch ( which means, I need to read a decent book about this .. costs me a few months .. don't have so much time to read so much about this topic).
Any good suggestions?