We found the flowerpot!
The constantly-changing XOR encryption on the iPlayer downloads turned out to be a red herring. The Beebhack team—it’s definitely a team effort now—has been hard at work finding the real secret that lets the iPhone download working video. And, as of last night, it’s been cracked. Downloads are back!
Getting hold of a couple of session traces really made it happen. The details are on the wiki.
I’ve implemented the new discoveries and updated the tarball and GUI.
As a side-effect, you can no longer resume a partial download. But hey—due to the unique way in which the BBC is funded (or, rather, peered), that bandwidth is not their problem.
2008-06-18 21:11 UTC. Comments: 10.
ThatGuy
Wrote at 2008-06-18 22:50 UTC using Safari 525.18 on Mac OS X:
Congratulations to everyone, can we still do multiple downloads at the same time? Just that I had two going at the same time and only one came out OK, on repeating the ‘bad’ one, it downloaded.If you need some help from an iTouch user then give me a shout!
RobJN
Wrote at 2008-06-19 16:40 UTC using Firefox 3.0 on Windows Vista:
Great work, Thanks everyone. Shame about the no resume, as I always run into problems downloading. I think it’s my internet but not sure. Will the resume be making a return or is that unlikely?martin
Wrote at 2008-06-19 21:27 UTC using Opera 9.27 on Windows XP:
when the files have finished what do i do to play them as quicktime dosnt recognise the files ?Irregular Shed
Wrote at 2008-06-19 22:36 UTC using Firefox 2.0.0.14 on Linux:
@martin: Try VLC, at http://videolan.org – it’s probably the best balance of usability and power in media players.@team: Good work, Beebhackers! I wish I were more use than as a snazzy analogy author… ;)
Paul G
Wrote at 2008-06-22 22:13 UTC using Opera 9.50 on Mac OS X:
I’ve been experimenting to try to see whether it’s possible to simplify the new procedure. I’m finding that the steps that appear to matter are (a) reading the bugs, and (b) keeping the partial Get segment size down below 70MB. Fetching the moov atom separately isn’t needed, nor is fetching either the first 2 byte or 512 byte segments initially. So in other words I’m downloading clean movies by just reading the bugs and then fetching the mp4 file in 64MByte segments in sequence until a range error is returned.The downloaders work perfectly well as written of course, but it’s interesting to know what the relevant steps are.
owh
Wrote at 2008-06-23 02:16 UTC using Firefox 3.0 on Mac OS X:
Hello, everyone. Thank you for all your work involving the iPlayer.I would like to ask, has anyone noticed that Auntie Beeb changed the Flash-based iPlayer for the new feed of 24 hour news? As an out-of-UK visitor, I’d like to mention that simply using a proxy works on shows within iPlayer (Doctor Who, Apprentice, and so on) but this new News feed won’t work. You get a message saying something like “sorry, the content isn’t available right now.”
I’m not sure what they changed, but impartial reporting is why I like BBC even more so than their usual programmes, so is there any interest by anyone looking into this? Presumably, if you connect to a UK proxy (examples: Tor or a proxy running Tor like the UK one at pickaproxy.com) you’ll see this message even from within the UK.
I realize most of the focus here is on downloading h.264 episodes of programs through the iPhone interface, but if anyone is looking into the live streams it would be much appreciated. Seems odd that they’re protecting access to News more fiercely than their shows, but I figure it’s only a matter of time before they apply this new whatever-it-is to the shows on the iPlayer site as well.
Alex
Wrote at 2008-06-23 20:24 UTC using Firefox 2.0 on Windows Vista:
Every Show I want to download it keeps saying it’s currently unavailable in MP4 format :(Paul Battley
Wrote at 2008-06-23 22:46 UTC using Firefox 3.0 on Linux:
Paul G, that’s really useful to know. Thanks! I’ll now be able to re-enable resume and simplify the code a bit.Alex: PIDs?
Mark W
Wrote at 2008-06-24 15:53 UTC using Firefox 2.0.0.14 on Mac OS X:
Thanks for all the great work you guys are carrying out. Having a strange problem getting hold of the mp4 file of Andrew Marr’s History of Modern Britain (PID: b007qmsj). get_iplayer is reporting ‘ERROR: Failed to Download block’. A small 4KB .mov is all that’s downloaded.Jonathan Duncan
Wrote at 2008-06-24 18:50 UTC using Firefox 3.0 on Windows Server 2003:
Hey, this is a brilliant find, thanks to all you guy’s work at beebhack. Because of your great documentation i can just quickly change my script in 5min rather than having to work it out myself ;PI’m really mystified by the whole XOR thing in general. Obviously with the bugs and the chunks they’re just trying to tighten and tighten the web servers down on accepting iphone. Of course nothing they do here can stop us really, anything can be emulated.
But why start returning weirdly obfuscated files instead of just 404’ing? The XOR’d files could never be played on the iphone so their designed only for us. Perhaps to send you guys on a run-around trying to decode them in an effort of slight of hand to keep you from the real truth? That’d probably it, but then why use XOR which can be identified? Why not just return blocks of random data interspersed with the mp4? Surely that’d have served the purpose well, we’d still be scratching our heads as to this wierd data.
Anyway all is good for the moment, thanks to all your help. I wonder what’ll come next? I recon more javascript stuff!