Audio/video stream recording forums (http://stream-recorder.com/forum/index.php)
-   Video stream recording (http://stream-recorder.com/forum/forumdisplay.php?f=4)
-   -  

I downloaded NF videos in HD, I can play off line,need a little help W/.key file

(http://stream-recorder.com/forum/showthread.php?t=16825)

WHOOKIDSON 06-20-2014 12:57 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by CristianoA (Post 68515)
anyone tried use GetFLV 9.6.6.1 ?

I haven't .. does GetFLV still have that iPad Mode ? I would love to figure out if that'll work :)

ItsAngel 06-21-2014 01:40 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by CristianoA (Post 68515)
anyone tried use GetFLV 9.6.6.1 ?

I'm sure it won't work because this is all via an IOS App. Not through the web browser

ItsAngel 06-21-2014 01:42 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
BTW UVD app is being weird, even if I have the right keys it won't play my video on the iPad, I know it's the right key because it will decrypt on my computer perfectly fine, but it won't play on UVD. It's really strange. Frustrating really.

WHOOKIDSON 06-21-2014 08:20 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by ItsAngel (Post 68536)
BTW UVD app is being weird, even if I have the right keys it won't play my video on the iPad, I know it's the right key because it will decrypt on my computer perfectly fine, but it won't play on UVD. It's really strange. Frustrating really.

are you talkin' about the *decrypted video (mp4) won't play on your iPad? or the *original .ts.prdy file(s) ?

ItsAngel 06-21-2014 10:59 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by WHOOKIDSON (Post 68543)
are you talkin' about the *decrypted video (mp4) won't play on your iPad? or the *original .ts.prdy file(s) ?

Original .ts.prdy files. I download them, make sure the right key is there and it still won't play in the UVD app but if I decryot it on the computer using the same .key file it decrypts fine...it's weird haha

WHOOKIDSON 06-21-2014 11:13 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by ItsAngel (Post 68546)
Original .ts.prdy files. I download them, make sure the right key is there and it still won't play in the UVD app but if I decryot it on the computer using the same .key file it decrypts fine...it's weird haha

HD files? sounds like it's looking for the *wrong key (the one it sent originally) .. even tho you provided it with the *right key

ItsAngel 06-21-2014 11:48 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by WHOOKIDSON (Post 68547)
HD files? sounds like it's looking for the *wrong key (the one it sent originally) .. even tho you provided it with the *right key

but they were playing just fine at first! now only one of the HD files i switched keys works and the others that worked before dont, i click on them and it eternally esays loading lol. it happened out of nowhere too. i tried reinstalling UVD but no luck

ItsAngel 06-21-2014 11:50 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
also, quick question. does the python code make ffmpeg REENCODE(lossy) the TS file, or does it only mux the vid and audio then convert it to MP4 WITHOUT reenoding?(lossless)

WHOOKIDSON 06-21-2014 11:56 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by ItsAngel (Post 68549)
also, quick question. does the python code make ffmpeg REENCODE(lossy) the TS file, or does it only mux the vid and audio then convert it to MP4 WITHOUT reenoding?(lossless)

it only muxes it (no re-encoding)

WHOOKIDSON 06-21-2014 11:58 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by ItsAngel (Post 68548)
but they were playing just fine at first! now only one of the HD files i switched keys works and the others that worked before dont, i click on them and it eternally esays loading lol. it happened out of nowhere too. i tried reinstalling UVD but no luck

lol wow I dunno .. probably a small bug maybe

CristianoA 06-21-2014 03:59 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by WHOOKIDSON (Post 68516)
I haven't .. does GetFLV still have that iPad Mode ? I would love to figure out if that'll work :)

yes Safari Kernel (iPad) and Android Kernel

WHOOKIDSON 06-21-2014 05:41 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by CristianoA (Post 68555)
yes Safari Kernel (iPad) and Android Kernel

nahh it didn't work .. thanks tho

Quote:

Error -302 when loading url nflx://www.netflix.com/Browse?q=trkid%3D7728649%26action%3Dplay%26source% 3Dmerchweb%26target_url%3Dhttp%253A%252F%252Fmovi. es%252FBWEfV

TSimpsons 06-25-2014 08:00 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by ItsAngel (Post 68425)
Try using that command line but don't include the fest "php" just start with UVDConverter.php

Hi. It wasnt working beacause dosnt have the php.exe in the PHP folder :D . Now i have but when i enter this
Code:

php UVDConvert.php 100000-1.m3u8 104316892.ts.prdy crypt0.key video.ts
(im working with this file: https://www.dropbox.com/s/vuglh751a9...le%20shrek.zip)

It dosnt appears anything...

I have to put the files in the UVD folder? If dont, where i have to put the files (psry, m3u8, crypt0, etc)?

thanks.

arcangel3ac 08-29-2014 05:43 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Hi!, I was testing the UVDConvert.php and it works perfect. But the audio and video are out of sync.

I got it on FFMPEG:

Code:

[aac @ 0000000002b8f8a0] Estimating duration from bitrate, this may be inaccurate
any ideas??

arcangel3ac 09-02-2014 01:08 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Today I get this error:

[NULL @ 00000000002f9e80] Multiple RDBs per frame with CRC is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
Failed to open bitstream filter aac_adtstoasc for stream 0 with codec copy: Not yet implemented in FFmpeg, patches welcome
[mp4 @ 0000000002f3e4c0] aac bitstream error

ItsAngel 09-05-2014 11:14 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by WHOOKIDSON (Post 68557)
nahh it didn't work .. thanks tho

Hey do you, or anyone have netflix version 6.0 they can shoot my way. If it's installed crack it then send it? My "update automatically" feature was turned on & the new netflix update kills this downloading feature, sadly. Thanks

BlueCop 09-05-2014 08:53 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
I have the 6.0 ipa backed up on my computer. I reinstalled it with ifunbox. I tried out the tweak.

No netflix videos play for me with the tweak enabled. I tried saving anyway and they didnt play in uvd either. They also don't seem to decrypt.

I can make an ipa with Clutch but i am not sure it will work. I tried both versions of his tweak with it. I couldn't produce usable results.

Did you have this working recently?

ItsAngel 09-05-2014 10:34 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by BlueCop (Post 70282)
I have the 6.0 ipa backed up on my computer. I reinstalled it with ifunbox. I tried out the tweak.

No netflix videos play for me with the tweak enabled. I tried saving anyway and they didnt play in uvd either. They also don't seem to decrypt.

I can make an ipa with Clutch but i am not sure it will work. I tried both versions of his tweak with it. I couldn't produce usable results.

Did you have this working recently?

Could you send it my way please? Last time I used it it was fine but given, I hadn't used it for about 2 weeks before I tried again and realized my netflix app updated itself. If you could please send it my was so I can do a bit more testing please. I fear netflix has caught on.

BlueCop 09-06-2014 11:44 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
what are you results currently?

I don't really have a way to host it.

krystallinity 09-06-2014 03:46 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
You can get it here:

https://thefilebay.com/14bS/


For me, sub-HD downloads through Netflix 4.0 are working, but the equivalent HD downloads through Netflix 6.0 + the tweak are not.

By not working I mean that the downloads aren't giving me any crypt0.key, and for the video .m3u8 I have this:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-KEY:METHOD=ISO-23001-7,
URI="f10niQg0DsZqw5uIro8MDucooPo=",
KEYFORMAT="com.apple.streamingkeydelivery",
KEYFORMATVERSIONS="1"
#EXT-X-MAP:URI="http://23.246.6.145/?o=AQGST62xhTHsk1jsUJHdtSI4ryVV4kye3ZFYFbTgvJKrhw3 SkDEAulihIXOeFm662b7G4n4UiY0e4_ElClKi6g9te9cfl2m6k 2FKRT8dtMS5SlhYArKXZV4Z1BVEKWdaBRxgHbg&v=3&e=14100 65726&t=2-KEygddY3nVRFovfQcFObAptDg",
BYTERANGE="2067@0"
#EXT-X-PROGRAM-DATE-TIME:2014-09-06T16:55:25.000-04:00


...instead of the equivalent "crypt0.key" and "#EXT-X-KEY:METHOD=AES-128"

I installed the tweak through adding it to a repository + Cydia.

BlueCop 09-06-2014 05:10 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
when I have the tweak installed it limits me to lower quality streams with netflix 6.0. It won't even play anything in HD. It will only download the higher qualities with the tweak disabled. they use the com.apple.streamingkeydelivery though.

I can save the same content over and over with version 6 and it produces a different crypt0.key each time. The video file(always named -_2) and m3u8 are always identical. The m3u8 offsets are correct too. Universal Video Downloader also doesn't download a separate audio file with netflix version 6.

I just tried on Netflix version 4 and I am unable to decrypt those downloads either. Universal Video Downloader does download a seperate audio file with version 4. it is unencrypted.
The video file UVD downloads is identical from version 4 and version 6. They always seems to have different keys.

The different crypt0.key each time makes me think that Universal Video Downloader isn't extracting/grabbing the key correctly with version 6 or version 4 for me.

What iOS version, Devices, and UVD version are you guys successful with? It seems to me we should be able to grab the correct AES key from memory by modifying Universal Video Downloader.

I have tried on iphone 5s ios 7.1.2 , ipad 3 ios 7.1.2, and iphone 4 7.0.4. all with the default UVD from cydia.

I know the video player is getting the correct key because the content is being played. It has to be a bug in how it retrieves the key.

krystallinity 09-06-2014 06:54 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by BlueCop (Post 70306)
when I have the tweak installed it limits me to lower quality streams with netflix 6.0. It won't even play anything in HD. It will only download the higher qualities with the tweak disabled. they use the com.apple.streamingkeydelivery though.

I can save the same content over and over with version 6 and it produces a different crypt0.key each time. The video file(always named -_2) and m3u8 are always identical. The m3u8 offsets are correct too. Universal Video Downloader also doesn't download a separate audio file with netflix version 6.

I just tried on Netflix version 4 and I am unable to decrypt those downloads either. Universal Video Downloader does download a seperate audio file with version 4. it is unencrypted.
The video file UVD downloads is identical from version 4 and version 6. They always seems to have different keys.

The different crypt0.key each time makes me think that Universal Video Downloader isn't extracting/grabbing the key correctly with version 6 or version 4 for me.

What iOS version, Devices, and UVD version are you guys successful with? It seems to me we should be able to grab the correct AES key from memory by modifying Universal Video Downloader.

I have tried on iphone 5s ios 7.1.2 , ipad 3 ios 7.1.2, and iphone 4 7.0.4. all with the default UVD from cydia.

I know the video player is getting the correct key because the content is being played. It has to be a bug in how it retrieves the key.


I'm using iOS 7.1.0 with an iPhone 5, UVD 1.1.1 and Cydia...

With Netflix 4.0 I get 720x480 files and a crypt0.key that successfully decrypts the files.



EDIT:

I installed Netflix 6.0 + tweak through SSH and it's giving me the same problem as here:

Quote:

Originally Posted by BlueCop (Post 70306)
when I have the tweak installed it limits me to lower quality streams with netflix 6.0. It won't even play anything in HD. It will only download the higher qualities with the tweak disabled. they use the com.apple.streamingkeydelivery though.

It downloads the higher qualities with the tweak disabled...but no crypt0.key.

But when you enable the tweak it only gives you lower quality videos.

BlueCop 09-06-2014 09:42 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
I downgraded my iphone 4 to iOS 5.1.1 just to do some tests. I wanted to try iOS 6 but my shsh blobs had bad ap tickets from cydia.

Unfortunately iOS 5 will not run netflix 6 because it requires iOS 6.

The files won't decrypt from Netflix 4 on iOS 5.1.1. It seems to be the same behaviors as 7.1.2 for me.

How are you guys getting valid keys? UVD hasn't worked for single time to get a valid key for me.

You guys currently have this working with netflix 4? The same content will download the exact same file. The key is always incorrect though.

BlueCop 09-06-2014 11:27 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
I was finally successful in getting the correct keys. I was able to decrypt all my tests.

They put dynamic protection on the internal media key server. It was randomly faking key responses when any check failed. That has to be defeated for UVD to save the correct key.

ItsAngel 09-07-2014 02:02 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by krystallinity (Post 70305)
You can get it here:

https://thefilebay.com/14bS/


For me, sub-HD downloads through Netflix 4.0 are working, but the equivalent HD downloads through Netflix 6.0 + the tweak are not.

By not working I mean that the downloads aren't giving me any crypt0.key, and for the video .m3u8 I have this:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-KEY:METHOD=ISO-23001-7,
URI="f10niQg0DsZqw5uIro8MDucooPo=",
KEYFORMAT="com.apple.streamingkeydelivery",
KEYFORMATVERSIONS="1"
#EXT-X-MAP:URI="http://23.246.6.145/?o=AQGST62xhTHsk1jsUJHdtSI4ryVV4kye3ZFYFbTgvJKrhw3 SkDEAulihIXOeFm662b7G4n4UiY0e4_ElClKi6g9te9cfl2m6k 2FKRT8dtMS5SlhYArKXZV4Z1BVEKWdaBRxgHbg&v=3&e=14100 65726&t=2-KEygddY3nVRFovfQcFObAptDg",
BYTERANGE="2067@0"
#EXT-X-PROGRAM-DATE-TIME:2014-09-06T16:55:25.000-04:00


...instead of the equivalent "crypt0.key" and "#EXT-X-KEY:METHOD=AES-128"

I installed the tweak through adding it to a repository + Cydia.

I'm just stuck at why HD stopped downloading with the crypt0.key and started with the streamkey. When enrud made the tweak to allow HD downloads through crypt0.key method.. I hope we can just adjust the tweak and get it working and hope netflix has stopped supporting HD files in the crypt0.key format because they got tipped off by our methods detailed here on this forum. Thanks for the IPA by the way!


Quote:

Originally Posted by BlueCop (Post 70313)
I was finally successful in getting the correct keys. I was able to decrypt all my tests.

They put dynamic protection on the internal media key server. It was randomly faking key responses when any check failed. That has to be defeated for UVD to save the correct key.

How did you accomplish this, I just had an old netflix version installed on my phone old netflix IPAs download the right keys then I'd just transfer them to the HD file.

BlueCop 09-07-2014 07:50 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
The netflix API returns dynamic responses. They can change the way the app functions by changing configurations returned to the app. They can change it to add dynamic checks whenever they want. They are probably intentionally filtering those high qualities.

UVD downloading is also really obvious to their servers. It doesn't attempt to replicate a real client. It has its own User Agent. It is apparent to netflix when you download any video with it.

Just a FYI. One can get Netflix 4.3.1 from the app store on iOS 5.1.1. I would speculate that the only reason that version is still supported is the iPad 1 being stuck on iOS 5.

BTW I bypassed the media server checks by playing around in cycript inside the Netflix process. I am attempting to see if I can enable higher qualities.

Here is a little hint for you.
Quote:

[{"requestType":"Key","validationStrategy":[{"operator":"AND","conditions":[{"conditionType":"HeaderSessionIdPresence","operat or":"AND"},{"conditionType":"HeaderUserAgentPresen ce","operator":"OR"}]}],"responseStrategy":"RandomlyFakeResponse"}]
so it checks for header session id and user agent on crypt0.key. The "RandomlyFakeResponse" explains the behavior I observed.

BlueCop 09-07-2014 10:45 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Does anyone know a way to extract the encrypted offsets from the cenc encrypted mp4 files?

The offsets are available in the headers in some binary form. I am looking into parsing directly from the file rather then m3u8.

ItsAngel 09-07-2014 10:55 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by BlueCop (Post 70324)
The netflix API returns dynamic responses. They can change the way the app functions by changing configurations returned to the app. They can change it to add dynamic checks whenever they want. They are probably intentionally filtering those high qualities.

UVD downloading is also really obvious to their servers. It doesn't attempt to replicate a real client. It has its own User Agent. It is apparent to netflix when you download any video with it.

Just a FYI. One can get Netflix 4.3.1 from the app store on iOS 5.1.1. I would speculate that the only reason that version is still supported is the iPad 1 being stuck on iOS 5.

BTW I bypassed the media server checks by playing around in cycript inside the Netflix process. I am attempting to see if I can enable higher qualities.

Here is a little hint for you.

so it checks for header session id and user agent on crypt0.key. The "RandomlyFakeResponse" explains the behavior I observed.

Woah, I didn't know UVD made it obvious, also I have no experience with Cycript but I'll do some googling, I'm sure Netflix is filtering these, I'm almost 100% someone on Netflixs end has read this thread and reported back. That's why they are now filtering things. Hopefully with your experience with app coding and such you can come to some conclusion

Quote:

Originally Posted by BlueCop (Post 70329)
Does anyone know a way to extract the encrypted offsets from the cenc encrypted mp4 files?

The offsets are available in the headers in some binary form. I am looking into parsing directly from the file rather then m3u8.

And what do you mean by this? I thought netflix didn't deliver in a MP4 container but in TS

BlueCop 09-07-2014 11:12 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
CENC is mp4. CENC (Common Encryption) is used on the DASH netflix streams. CENC enables them to distribute a single file with encrypted parts using one key. It allows them to use different DRM schemes to distribute that same key in different ways.

There is a lot of unencrypted data in the MP4 describing the encrypted parts. It also includes a KID(Key ID) so one can identify which key it was encrypted with.

I am looking for libraries to parse the mp4 into its boxes so I can try to interpret more of the information inside. Sometimes the actual content AES key is encrypted inside one of these mp4 boxes.

BlueCop 09-07-2014 11:42 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
One can still get playready keys for non-HD content. I am still unsure how to enable higher qualities.

I would make a tweak but I don't really know how. I haven't done that before. You can modify it while running with cycript though.

Code:

cycript -p Netflix
Code:

choose(BuiltinConfig)[0]->_mediaServerValidationPolicy = null
will null the media server validation and allow UVD to get the correct key. This with the tweak to disable DashFairplayStreams from this thread allows UVD to function on the current Netflix version. It will only allow the SD streams though.

You can also grab the correct key from memory like this
Code:

choose(NetflixPlaybackSession)[0]->playReadyKey_
actually the current version of UVD and Netflix won't save the audio stream actually.

ItsAngel 09-07-2014 12:10 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by BlueCop (Post 70332)
One can still get playready keys for non-HD content. I am still unsure how to enable higher qualities.

I would make a tweak but I don't really know how. I haven't done that before. You can modify it while running with cycript though.

Code:

cycript -p Netflix
Code:

choose(BuiltinConfig)[0]->_mediaServerValidationPolicy = null
will null the media server validation and allow UVD to get the correct key. This with the tweak to disable DashFairplayStreams from this thread allows UVD to function on the current Netflix version. It will only allow the SD streams though.

You can also grab the correct key from memory like this
Code:

choose(NetflixPlaybackSession)[0]->playReadyKey_
actually the current version of UVD and Netflix won't save the audio stream actually.

I made a tweak with Flex, I uploaded it. Not sure if you use flex but you should check it out. I've disabled the FairPlay streams but again that kills HD streams. I named it "Netflix Nfdrm tweak inspect"

BlueCop 09-07-2014 05:52 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
I haven't used flex. I will check it out.

I found something interesting. The KeyID is the same for the HLS and DASH streams(just endian swapped but flagged as such). This makes me think the keys we have for the SD will work for for HD.

The problem is I think they are using subsample encryption. This mixes encrypted and unencrypted data.

The video track is divided into samples and sub samples. The M3U8 actually just provides the offset and length of each sample. The samples are sub divided into subsamples with unencrypted parts. All encrypted sub samples are treated as a contiguous block for decryption though. So we would need a way to read the subsamples are a contiguous segment to decrypt it properly. I don't know the proper way to read the needed meta-data to accomplish this.

So I believe we have everything to decrypt the HD streams but need a way to properly decrypt it.

I am looking into libraries that could parse the mp4 atoms for me. I found the PIFF Sample Encryption box atom which has the list of IVs and which parts are encrypted and which parts are clear.

krystallinity 09-08-2014 02:56 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by BlueCop (Post 70337)
I haven't used flex. I will check it out.

I found something interesting. The KeyID is the same for the HLS and DASH streams(just endian swapped but flagged as such). This makes me think the keys we have for the SD will work for for HD.

The problem is I think they are using subsample encryption. This mixes encrypted and unencrypted data.

The video track is divided into samples and sub samples. The M3U8 actually just provides the offset and length of each sample. The samples are sub divided into subsamples with unencrypted parts. All encrypted sub samples are treated as a contiguous block for decryption though. So we would need a way to read the subsamples are a contiguous segment to decrypt it properly. I don't know the proper way to read the needed meta-data to accomplish this.

So I believe we have everything to decrypt the HD streams but need a way to properly decrypt it.

I am looking into libraries that could parse the mp4 atoms for me. I found the PIFF Sample Encryption box atom which has the list of IVs and which parts are encrypted and which parts are clear.

Thanks for all of this research! This is getting me all excited!

BlueCop 09-08-2014 04:19 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
I wouldn't get too excited. I am not sure I will accomplish anything.

I saved some 1080p H264/AC3 streams via my chromecast. I have been attempting to parse them for decryption(same KeyID). the 5.1 AC3 stream is unencrypted like the 2.0 AAC tracks. The highest quality I was able to save via an iPad was 720p and stereo sound.

I have been examining the files in isoviewer currently. It allows you to examine most of the atom data.

I was hoping to find a good mp4 atom parser for python. I haven't found much that works to get the information I need. I will probably have to pore over the standards to figure out all the structures.

if anyone is good with java they could use https://github.com/sannies/mp4parser which is what the isoviewer was made from. I haven't really coded much java though.

BlueCop 09-08-2014 09:41 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
I tried to use mp4box to perform the decryption. I believe this is PIFF and CENC compatible file. It always seg faults when attempting to decrypt though.

http://gpac.wp.mines-telecom.fr/mp4b...on-encryption/

I wrote something to parse the file and decrypt the encrypted NALs. I couldn't get it to work properly though. I would just get a green screen with some corruption at the top on playback.

I discovered http://www.bok.net/trac/bento4/ after doing that. I attempted to use their mp4decrypt to decrypt. That file also didn't seem to work either.

I am not sure if the decryption is incorrect or the key is just wrong.

BlueCop 09-08-2014 06:15 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
I am giving up on decrypting these other formats. I can't seem to get it working. I don't think the key is correct even though the Key IDs used are the same. I was looking at the source for mp4decrypt and it supports PIFF with AES CTR mode. So if we have the correct key then it should work to decrypt those files.

ItsAngel 09-08-2014 10:49 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by BlueCop (Post 70379)
I am giving up on decrypting these other formats. I can't seem to get it working. I don't think the key is correct even though the Key IDs used are the same. I was looking at the source for mp4decrypt and it supports PIFF with AES CTR mode. So if we have the correct key then it should work to decrypt those files.

So you're trying to decrypt the apple.Streamkey files right?
I think we should try(as I've been unsuccessfully) to get HD in the playready method (the way that's easy to decrypt) like before. I'm not sure what netflix is doing to prevent us from getting the HD files but I'm determined to find a work around.

BlueCop 09-08-2014 11:04 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
ItsAngel: yeap I believe they are moving all the clients to the new DASH format with Common Encryption because it supports multiply drm schemes. I know they at least support fairplay and playready concurrently using the same AES key for the same file. They have several DRM specific boxes in the mp4 that contain the needed data for the drm module to retrieve the key.

They could turn off HLS support completely. They already limit quality options. I think they only really support it still for ipad1.

ItsAngel 09-08-2014 11:18 PM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
Quote:

Originally Posted by BlueCop (Post 70386)
ItsAngel: yeap I believe they are moving all the clients to the new DASH format with Common Encryption because it supports multiply drm schemes. I know they at least support fairplay and playready concurrently using the same AES key for the same file. They have several DRM specific boxes in the mp4 that contain the needed data for the drm module to retrieve the key.

They could turn off HLS support completely. They already limit quality options. I think they only really support it still for ipad1.

You sure they have the same .key files even tho they use different key delivery methods? If that's the case then the crypt0.key file from another file can ultimately decrypt an Apple.streamkey file? Hmm I'm going to test it out

BlueCop 09-09-2014 12:10 AM

Re: I downloaded Netflix videos in HD, I can play off line,need a little help W/.key


 
They use the same Key ID. It is the key identifier and not the key. it identifies the key it was encrypted with.

The same content(movie or specific episode) was using the same keyID in the files. So that indicated they were encrypted with the same key. That is the whole point of what I have been attempting.

The decryption could be failing because I didn't implement the IV counter for AES_CTR correctly. They use a 64bit IV. It is expaned to 128bit by padding. I am not sure I did that right.

I thought maybe we could get the apple media play to play it correctly. The "#EXT-X-MAP:URI=" value needs to be changed to the name of the local video file UVD downloads. It is actually pointing to data embedded in the file.(length:2067 @ offset 0)

the "#EXT-X-KEY:METHOD=" value of ISO-23001-7 indicates a CENC(Common Encryption) for the video. I thought maybe we could bypass the key delivery by changing the URI to the local key file. I could never get it working. I am not sure if I should remove or change the value of the keyformat.

Quote:

Originally Posted by krystallinity (Post 70305)
#EXTM3U
#EXT-X-KEY:METHOD=ISO-23001-7,
URI="f10niQg0DsZqw5uIro8MDucooPo=",
KEYFORMAT="com.apple.streamingkeydelivery",
KEYFORMATVERSIONS="1"
#EXT-X-MAP:URI="http://23.246.6.145/?o=AQGST62xhTHsk1jsUJHdtSI4ryVV4kye3ZFYFbTgvJKrhw3 SkDEAulihIXOeFm662b7G4n4UiY0e4_ElClKi6g9te9cfl2m6k 2FKRT8dtMS5SlhYArKXZV4Z1BVEKWdaBRxgHbg&v=3&e=14100 65726&t=2-KEygddY3nVRFovfQcFObAptDg",
BYTERANGE="2067@0"

Quote:

#EXT-X-KEY:METHOD=AES-128,URI="crypt0.key"
The files also have header values that indicate wedevine(google) drm support. I really think this format is going to be used in their future for a while.

Edit: I'm an idiot. I misread the Kids. It is actually incremented by 1. The decryption was simply failing because the key was wrong.
00000000-03C1-23FC-0000-000000000000
00000000-03C1-23FD-0000-000000000000


All times are GMT -6. The time now is 03:13 AM.