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.
|