Posts: 238
Joined: Nov 2006
Reputation:
0
+1 to BlueCop's comments. My laptop (1.6 GHz) apparently isn't powerful enough to smoothly render full-screen HD video that's being played by a flash object inside a web browser, but my XBOX handles the same task with ease by playing the .flv file directly.
Posts: 165
Joined: May 2007
Reputation:
0
mr.b
Senior Member
Posts: 165
I have an idea that should probably work and stay working long term. It's a bit of a kludge, but here goes. There's a nice bit of software called selenium that allows one to very easily script firefox. The gist is that there is a selenium server running and you can control the server with a script (script connects, then controls the browser by way of the server). This setup could be on on the same machine as XBMC or any other machine on the network. The way I see it working would be that a hulu plugin would initiate a python-based selenium script to open the correct episode URL. The scripted firefox browser would be configured such that its requests were proxied so that the hulu plugin could be on a time-based loop waiting to see the PID and AUTH in the proxy log. Once this is picked up, the hulu plugin could close the browser via the python based selenium script, and XBMC could request the RTMP stream directly. I'll agree that this is quite messy and would introduce a time delay while the user waits to get the pid/auth, but I'm pretty sure it'd work.
Posts: 152
Joined: Mar 2009
Reputation:
0
The SMIL is encrypted using AES, just like the PID. (Except it's a little more than that; there are a couple extra rounds of XORs in there as well.) Just use flare and decompile the player.swf file and you'll see how it all works.
That whole javascript thing is a red herring, it was talking about the RSS feed. That's using a completely different method of obfuscation from this SMIL file.
Posts: 152
Joined: Mar 2009
Reputation:
0
The actual decryption function is in sec.swf, same place the PID decrypter lives. The player.swf loads sec.swf and replaces the dummy secdecs function with the real one in sec.swf. Search for the string 'load sec.swf succeeded!' ...
the secdecs function and the PID dec function share some code (the AES ECB part) but decs does some additional munging on the result.