first of all thanks for your work, Denny and all others here who contributed to the project.
Here are some changes i made on the command line version of drmdecrypt, version from Apolo Jul 04, 2013 i'd like to share with you.
Check, if decryption was successful:
The srf files are transport streams which contain packetized elementary streams PES. As one PES packet is larger than a TS packet, there is a flag called pusi (payload unit start indicator) in the TS header that tells if a new pes packet begins in this ts packet. Luckily the pes packet always starts with the same byte sequence 00,00,01,... http://en.wikipedia.org/wiki/Packetized ... ary_stream
You can check for this sequence to see if the decrypted packet has meaningful mpeg data or only garbage.
I took this idea from tsdec http://sourceforge.net/projects/tsdec
. tsdec does something similar: it decrypts ts with the common scrambling algorithm by trying a list of keys. Here, we are dealing with aes not csa, but the output is the same.
I inserted code from tsdec to check every packet with the pusi flag set whether it has this pes header or not. Once for each run it prints "packet payload 00 00 01 found. drm key is correct. Offset: 123". So most likely when you get "expected packet payload 00 00 01 not found. drm key wrong?" you will not have much fun with the decrypted file. I suggest to cancel decryption in that case, what do you think?
Furthermore i changed the naming of the ts file after information from the inf file. It works for windows now. The ts is named like: channel_name_-_program_title.ts. Because these strings in inf can contain characters like /\?: i replace them by an uncritical '_' to avoid trouble with the file system.
A new performance measuring function shows the decryption throughput at the end in MiB/s.
Currently there is only the option to get the key from the mdb file. For my tv (UE55F6470, latest FW) i get 00 00 00 00 00 00 00 00 00 00 A0 F7 00 00 00 00 which looks not like the real key. Wasnt it a mistake from samsung to put the key right beside the movie on hdd and now they fixed it? So maybe the mdb key should only be used if no keyfile is given as fallback.
looking forward to your answers.
You do not have the required permissions to view the files attached to this post.