Sign in to follow this  
Followers 0


2 posts in this topic

I have researched alot about I recently bought a membership to the site, however I was hoping I could download the files to my hardrive due to me not having access to the internet all the time. I have tried flashgot, download helper, orbit, and xfer, and nothing seems to work. I read somewhere that they employ DRM protection.

Any advice?



Share this post

Link to post
Share on other sites

Are you trying to save the flash or the quicktime version of a file? Not that it matters, you can save either.

There is no drm but the content is somewhat obfuscated and 'streaming' (steaming because the player isn't set to cache it, the player being being loaded via dom-objects, javascript; which itself links to separate files - based on either MovieQTList= includes or flash includes).

Their server also appears to check user-agents strings to direct resource requests, quicktime uses User-Agent:QuickTimeWinInet.

There is a player splash page, and then links to the actual media files:

hxxp://<here>&sku=<here>&id=<here>&movieCode=<here>&movieName=<here>&mode=<flv or mov>



hxxp://<here>&size=Large&movieName=<here>&titleName=<here> <- the player

hxxp://<here>&type=<txt>&vtclogin= <- captioning

hxxp://<here>&type=<mov>&vtclogin= <- video



.. you can figure out the rest here, use a web-browser debugger or a packet capture, I used tshark.

Where the cipher is the hash of the file which you don't care about as the splash page with the foldername/sku/id/code are plaintext in the original playlist page; mode flv or mov should be obvious.

With quicktime the type is either txt for closed captioning (subs) or mov for the video file (they are streamed separately) and the login is I assume where vtc credentials would come in to play but since I didn't use any.. ;)

Anyways, to save the files from the website locally:

- you need the foldername/sku/id/code of each individual file in your list, shown in the very first page, example hxxp://

look for onclick="java script:playLesson('33876', '72876', 'contributecs3', '0101', 'Course+Introduction'); return false;">Course Introduction

- then you need to make a request using those values (33876,et-all) to determine the hash (possibly session based, I haven't bothered to look.. not important)

- then you need to save the player page (for quicktime - the one located at

- then you need to save the media files, which in the quicktime example I tested are located at, supply a user-agent the server will accept.

- finally, you need to edit the player html to view from a local instead of a remote source and remove all of the remote links..

Really, all of this can be automated in a perl script or a bit of bash+wget/curl+grep; you could rip their entire website without too much hassle though it may draw some suspicion and likely violates TOS/AUP/etc..

You could manually open each player window you want in a web-browser and extract the resources from a packet capture without having to worry about anything but the last step, editing the html.

or you know, you could say acquire the VTC isos instead of going through this hassle, that is what they are for after all.

Edited by jabzor

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
Followers 0