400 lines
20 KiB
Plaintext
400 lines
20 KiB
Plaintext
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. |