textfiles/uploads/diz-netflix.txt

400 lines
20 KiB
Plaintext
Raw Permalink Blame History

HOW TO RIP NETFLIX 'WATCH NOW' MOVIES
{v1.3}
BY: DIzzIE [antikopyright 2007]
Welcome to version 1.3 of this textfile. This updated edition now
includes a new method to rip the Watch Now videos as the previous
method has been rendered obsolete by the ever-innovative Netflix :).
Disclaimer
The following is presented for informational purposes only. I do not
take any responsibility for the actions you may take after reading
the contents of this document. Circumventing DRM restrictions may (or
may not) be in violation of various laws. Check to make sure the
process is legal in your jurisdiction and does not go against
Netflix's own TOS. I most certainly do not advocate the breaking of
any laws (save for public urination, which I hold to be an
inalienable, worldwide right). In other words: it's not my fucking
fault if your Netflix account gets terminated, you get a fine, go to
jail, do not pass Go, do no collect $200, or maybe your son gets run
over by an unmarked black sedan on his way home from school (though
he swears he saw a Netflix/M$ logo flicker in the windshield...).
Re: Sensationalised Media Coverage
There has been a lot of jazz in the media coverage over this
textfile saying 'hacker cracked the Netflix DRM' and so on. I'm
flattered, but also entirely undeserving. I would like it made clear
that the real credit belongs to folks like viodentia and Divine Tao
who developed the FU4WM/mirakagi programs (respectively) used in this
text. I just illustrated one possible application of them, i.e.
cleaning Netflix Watch Now files.
I would furthermore like to specifically address the FUD bullshit
spewed forth from the likes of NewsFactor
(http://www.newsfactor.com/story.xhtml?story_id=54517). By stating
that the procedure outlined herein "is an 18-step process beyond the
capability or interest of most users", they are effectively telling
their readers 'you're too fucking stupid and lazy to do this, so
don't even bother.' You wish! Anyone can follow the steps outlined
below, no special skills or capabilities are required, but way to
take a shit all over your readers NewsFactor!
Prelude
At the start of 2007 Netflix started offering a 'Watch Now'
(netflix.com/watchnow) service that lets subscribers watch flicks and
tv shows online at no extra cost (note that this isn't to say that
the service is being provided for 'free' to subscribers, as the costs
are likely being offset by something along the lines of subscription
fees that otherwise could have been lowered more drastically than
they have been recently). Anyway, the limit is one hour per dollar,
so if you pay $18 for your subscription, you get 18 hours of credits
to watch shit online. All well and good, but the trouble is that
Netflix doesn't easily allow you to save the flicks and watch them at
your leisure because the films are entrapped in some shittastic
Windows Media DRM wrapper. Let's see if we can fix that. This guide
will thus show you how to save and decrypt the movies from Netflix so
that you can convert them to other mediums and watch them at your
leisure.
Tools of the Trade
In order to run the Watch Now service you'll need a subscription to
Netflix (duh), as well as be running Windows XP with Service Pack 2
or Windows Vista, Microsoft Internet Explorer 6 or higher (though if
you want to just rip the movies and not watch them in-browser, you
don't really need IE, but we'll get into that a bit later) and
Windows Media Player 11. To grab the movie file you'll need the
kickass file transfer program called cURL
(http://curl.haxx.se/latest.cgi?curl=win32-nossl). To decrypt the
media files, you'll also need two handy little programs called
mirakagi and FairUse4WM. (Oh, and we'll use Notepad a little bit as
well ;)). The output media files will be unprotected WMV files,
suitable for conversion to XviD or whatever format you prefer, using
one of the hundreds of converter programs out there, such as the free
tools Super <20> (http://www.erightsoft.com/SUPER.html) and alltoavi
(http://alltoavi.sourceforge.net).
The Step-by-Step
1. Before you do anything else, you first need to tweak Windows
Media Player (WMP) to handle media licenses the way you want it to.
Pop open WMP; click on Tools and select the Privacy tab; make sure
the "download usage rights automatically when I play or sync a file"
option is unchecked; click Apply; and close down WMP. (Big thanks to
Juansito for pointing out this pivotal step).
2. Now that WMP's taken care of, go ahead and log into your Netflix
account and browse on over to netflix.com/watchnow to pick a flick to
watch (you can usually watch the trailer within Netflix prior to
picking a movie as well).
3. Click the blue Play button next to the movie of your choice. If
this is your first time trying out the Watch Now feature (and you're
using IE), the Netflix Movie Installer
(Netflix_Movie_Viewer_Installer.msi) dialogue will pop-up. Click yes
to go through the installation process.
4. You should now see a WMP dialogue pop up, saying 'you do not have
the rights to view this file...would you like to connect to the
website...'. Hit NO.
5. In your browser window you should now see an error message from
WMP bitching about not having the license to play the file. Ignore
that shit, and open the source code of the website (right-click in
the browser window and select View Source, or go to Tools and then
click View Source from there).
6. Hit Ctrl-F in Notepad (assuming that's what the website source
code opened in) and put in 'WNPlaylistMovies' (type that without the
quotation marks and hit enter). The bit of code you're looking for
will look something like this:
Code:
ar WNPlaylistMovies = {"movies":[{"id":"7291038","title":"Scat Girls
From
Space","streams":[{"url":"http://index.ehub.netflix.com/item/?x=eiujdU
WJDFOEWDJEOFEYWOeUEUHF4W.","bitrate":400,"dlid":7291038,"requiredBandw
idth":500},...
You'll see a few more URLs listed, each with a different bitrate.
You can pick the last URL which should have the highest bitrate and
will also have the highest filesize (upwards of a gigabyte for full-
length movies, but almost always under two gigs). Despite the bitrate
listed in the source code, GSpot always seems to show that the
bitrate is 6154 kb/s for the flicks downloaded for the highest listed
bitrate (2200 according to Netflix).
7. Copy the ehub URL that you picked (including the quotation
marks), and open up a new Notepad window.
8. You'll now need to craft the command-line instructions for
downloading the movie file. The following directions were created by
shitburger, huge thanks for finding the new work around!
The basic template you'll be working from is:
Code:
(set /a 0) > movie.wmv && curl -L -A "WmpHostInternetConnection" -r
1-3999999999 http://url.that.you/found.in/step.6 >> movie.wmv
Where movie.wmv is the name of the file that the movie will be saved
to, and the URL is the one that you found in Netflix's source code.
If you want to save the movie.wmv to a specific location, be sure to
enter it for both of the movie.wmv entries above, and to place
quotation marks around the full-path (for example, "c:\my netflix
rips\movie.wmv"), and make sure that the path you're saving to
already exists (in other words, make sure you already made a folder
called 'my netflix rips' before attempting to save anything to it).
Nota Bene: If you're interested in what you just typed, shitburger
provides an explanation of the syntax: '(set /a 0) > movie.wmv'
creates a file with just a '0' in it (the reason this is necessary
will become clear in a second); '&& curl' then launches the cURL
program; the L switch allows cURL to follow 302 redirects which
Netflix uses to redirect you to the movie file; the A switch spoofs
the User Agent field of the headers to identify as
'WmpHostInternetConnection', which is what the Netflix Movie Viewer
identifies as; the r switch allows you to set the range (in bytes) to
download; and '>> movie.wmv' appends the data cURL grabs to the '0'
file you created with the set command at the start.
The reason you have to set your range to start from 1 instead of 0
(in other words skipping the first byte of the file) is Netflix's
servers only allow you to download the first 95.4 megs of the movie
if you start from 0 (or 1-99999999), but lets you download any sized
chunk you want so long as you start from any number but 0. The first
byte, however, is always a '0' itself, thus by creating a file that
only has 0 and then appending the rest of the movie file to it, you
get a working wmv file :).
9. Once you have your command customised to your needs, copy it all
to your clipboard and open your command prompt window (click on
Start; Run; and type 'cmd' (sans quotes)).
10. You can now navigate to the directory where you placed curl.exe
(for instance, if you put it in C:\Program Files\cURL, type cd
"c:\program files\curl" into the command prompt to change to that
directory. If you don't want to have to navigate to that directory
each time you run the command prompt you can change 'curl' in the
template above to point to the directory that curl is in, for
instance "c:\program files\curl\curl.exe" (don't forget the quotation
marks). As a third option, you can place curl.exe into the default
folder where the command prompt points to (go to Start, Run, type
%SYSTEMROOT%\system32, and place curl.exe in there.
11. Once you're in the right directory in the command prompt, go
ahead and paste your template string (from step 8). Be sure to right-
click and select Paste instead of just pressing the usual ctrl-v.
12. Assuming you didn't fuck anything up, go ahead and hit enter and
you should hopefully see curl say that it's downloading the file,
complete with a 'time remaining' notification.
13. The file will be around a gig or two, so pass the time as it
downloads by going to the park and masturbating to some dead pigeons
(or what have you...).
14. Back already? Well OK, assuming the file has finished
downloading, time to exorcise the Micro$oft DRM demon. Go to the
directory that the file was saved to (if you didn't enter a custom
path it will be saved to the location you were at in your command
prompt when you entered the commands). This part is a wee bit tricky
and might take you a couple tries to get it down pat. Open the
data.wmv file in WMP, and you should see the same alert you saw back
in step 4. This time click YES to connect to the Netflix site and
acquire the license. (In Internet Explorer 7, you might get a
security warning about an ActiveX control, click on the security bar
and select 'allow ActiveX controls...').
15. Immediately after you click Yes and are presented with a 'media
usage rights acquisition' dialogue, launch mirakagi and click 'Start'
as soon as you see the 'Play' button become active (in other words
clickable or not grayed out) in the rights acquisition dialogue in
WMP. Mirakagi should then tell you that it has found a couple keys
and that it's done processing.
16. At this point, swap back to WMP, close the rights acquisition
window, and close WMP as well.
17. Now launch FU4WM (you should be using FU4WM v.1.3fix-2, which is
the version currently typically bundled with mirakagi), click Next
and click on 'Add File' to select the data.wmv file so that it
appears in the list of files in the FU4WM window. Highlight the
data.wmv file and click Next.
18. If you fucked up, you'll now see an error in FU4M telling you
that the file "does not appear to be licensed to you". Go back and
click Start in mirakagi right after the license window pops up in
WMP. When the 'play' button becomes active in the license acquisition
window in WMP, click on Start in mirakagi and try again. The timing
can be a bit iffy, so keep trying and you'll get it. If, on the other
hand, everything went smoothly, you should now see a conversion
status bar in FU4WM, telling you to "please wait while your files are
converted" :).
19. The conversion doesn't take nearly as long as the download did,
so I'm afraid there'll be no time for pigeon masturbation at this
stage :( (well, unless you're quick...), though don't do anything else
for the few minutes that FU4WM is doing its thing, or you might get a
rather glitchy video file.
20. Once the conversion is done, you should have a duplicate copy of
the data.wmv file (sans the encryption, that is ;)), in the default
save folder of FU4WM (...\My Documents\My Videos\, or wherever you
specified). Feel free to open the file in Media Player Classic, VLC,
or whatever, or convert the file to another format. Close down FU4M
and mirakagi, and delete the yucky encrypted data.wmv file.
21. Rinse and repeat :).
How to Get the Movie Download Link Without Using Internet Explorer
Netflix's official requirements state that you must have Internet
Explorer 6 or higher, and be running Microsoft Windows Service Pack 2
or higher. That's certainly true if for some strange reason you're
compelled to use Netflix's movie viewer software and watch the film
in-browser, but otherwise there is a simple workaround to enable you
to get the download link using any browser you like.
Netflix is able to tell what browser you're using based on the user-
agent data your browser contains (in other words, your browser
identifies itself as Internet Explorer or Firefox, or whatever). The
solution arises from the fact that you can spoof your browser headers
to report whatever user agent you damn well please. For instance, you
can make Firefox emulate IE's user-agent field, effectively making it
look as if you're using IE as far as Netflix is concerned.
There's a myriad of plug-ins, tweaks, and stand alone applications
out there to enable you to spoof your user agent, but we'll use the
User Switcher Agent add-on for Firefox (https://addons.mozilla.org/en-
US/firefox/addon/59) as an example (thanks to truegodofwar). If
you're changing the user-agent field on your own, you'll want it to
say something along the lines of 'Mozilla/4.0 (compatible; MSIE 7.0;
Windows NT 5.1)'.
Two notes before we begin: using the agent switcher will not enable
you to actually watch the movies in different browsers, it will only
enable you to obtain the download link to save the data.wmv files. As
far as I know, you will also need Windoze to run mirakagi/FU4WM/WMP,
but at least you don't have to use IE, and that's a step up in my
book. Second of all, while some folks have suggested using the IE Tab
add-on in Firefox
(http://www.hackingnetflix.com/2007/0...x_instant.html), this is
generally a pointless operation as in order to use IE Tab you need to
have IE installed anyway.
Now then, go ahead and install the User Agent Switcher and restart
Firefox. Go to Tools; User Agent Switcher; and select Internet
Explorer 7 (Windows Vista). Proceed to the Netflix Watch Now site
(netflix.com/watchnow), and instead of the usual 'Your Internet
browser is not compatible with this feature. Try again with Internet
Explorer 6 or higher' message, you should now be connected directly
to the Watch Now page. You'll get a little message saying that
ActiveX is disabled, and the video obviously won't load, but just
view the page source code and grab the download link (see step 6
above). Keep in mind that each time you shutdown/restart Firefox,
you'll have to change the user agent to Internet Explorer as it
reverts back the Firefox default agent when you restart.
So what's the advantage of using the agent switcher? Well, aside
from not having to use IE to rip the Watch Now movies, you also don't
have to bother with installing Netflix's cumbersome Movie Viewer
application.
And Why Isn't There Support for Anything Besides IE and Windoze
Anyway?
A few days after this textfile became popular news a post was made
on Netflix's blog (blog.netflix.com/2007/08/instant-watching-on-mac-
firefox-and.html) explaining that, while Mac and Firefox support are
on their list (and not saying a thing about *nix), Macs apparently
lack the DRM tools necessary to placate the movie studios. That's all
fine and dandy (except that as the commentators have pointed out,
there are DRM options for Macs), but on a totally unrelated note it
might interest some folks to know that Reed Hastings, the CEO of
Netflix, also happens to be on the finance committee of Microsoft's
board of directors (see
bizjournals.com/sanjose/stories/2007/03/26/daily18.html and
microsoft.com/presspass/press/2007/mar07/03-26HastingsPR.mspx <20>
thanks to Lanny for the tip!). Not that I'm implying anything.
How to Reset your DRM Licenses
If you're having problems with mirakagi being able to sniff out the
keys to the Netflix movies, you may need to reset your DRM settings.
If you installed Netflix's Movie Viewer application, it should have
also dumped a little file called ResetDRM.exe in the default
installation path ('C:\Program Files\Netflix\Netflix Movie Viewer').
Though if you didn't bother with the installation, you can grab the
program from netflix.com/pages/previews/resetdrm.exe. So if you're
having difficulties with your key management, try running the program
which should clean out all of your old keys, and then load the
data.wmv file again and follow the steps above.
What about the Time Limit Thingy?
You might remember that in the (very) first version of this textfile
I boasted that there was a way to get around the time limit and get
unlimited movies. No such luck. For, while the flicks you download
don't immediately show up in your Watch Now Viewing History
(netflix.com/WatchNowViewingActivity), they do show up after 24
hours, no matter how much of the movie you view (that is, even if you
watch only ten seconds of a flick, its full length will be recorded
in your account after 24 hours). Other alleged ways of beating the
time limit, like unplugging your modem, and flushing your
cache/temporary files after downloading the flick also don't appear
to work as the time still gets deducted after 24 hours. As such, if
you do manage to find a way to beat the time limit, do let us all
know, as cracking the time limit seems to be the next Netflix
challenge...
Now Don't Get Cocky...
And lest you're all too ready to start making torrents of the
flicks, keep in mind that there have been some rumours about Netflix
putting in uniquely identifying watermarks into the video files. Bear
in mind, that these are just that: rumours, and may well be an
attempt to spread some good ol' FUD to cheaply prevent people from
sharing the movies. Though I haven't spotted any watermarks in the
video myself (while viewing my films legally within Netflix's Watch
Now viewer ;)), the technology for such watermarking certainly does
exist, so keep your eyes open.
And remember that it may be possible to track uploaders of files to
torrent trackers (or other mediums) based on their viewing history
(much like these dudes Arvind Narayanan and Vitaly Shmatikov recently
demonstrated that users could be identified based on their
'anonymous' film ratings. See "How To Break Anonymity of the Netflix
Prize Dataset"
http://www.arxiv.org/PS_cache/cs/pdf/0610/0610105v1.pdf). In other
words, it won't be too hard to cross-reference one's watch now
viewing history with upload patterns to various torrent trackers...
Version History
0.9 - Original textfile created.
1.0 - Text updated to remove the flawed time restriction bypass
method listed in v0.9.
1.1 - Text updated to deal with the ''IBX Version 11.0.6000.6324
isn't supported yet" error some folks have been getting.
1.2 - Text updated to include directions for getting the movie
download link on browsers and OSes other than IE/Windoze, and
instructions on resetting DRM licenses, as well as other minor
updates.
1.3 - Text updated to include new download procedure to bypass NF's
range checking.
***
And there you have it, an easy way to rip and decrypt Netflix's
Watch Now media (without using IE!), enjoy!
Drop me a line at xcon0 /at\ yahoo d//o/\t c\\o\\m or give me a ring
at 1-610-887-6072. And don't forget to visit www.dizzy.ws and
www.rorta.net for more knowledge.