How to lift a photo from a Flash web applet?

I found this really sweet photo I want to use as my desktop background in a slideshow presentation that uses Flash player. (it’s #10. #3 is pretty nifty too)

The problem is that I can’t just right click and save it or set it to the background like I can with images imbedded normally in a webpage since the slideshow is a Flash program. How can I get this photo on my desktop?

“Print Screen” is the easiest general solution; this works reasonably well unless the images are rescaled by the Flash application, in which case you might lose resolution this way.

This particular slideshow actually reads an XML file with names and metadata for all of its images (as you can see by viewing the HTML source), which makes things easier. #10, if it’s the “Nemesis” art, was this image when I looked, though that filename may be a temporary hash (if that’s not it, just find it in the XML file).

That’s the one, thanks. For future reference, what did you do to access that XML file?

My guess is that it was a lucky guess. If you look at the source, you can see this line:


AC_FL_RunContent('codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,19,0','width','960','height','605','FlashVars','xmlFilename=http%3A%2F%2Fnews.yahoo.com%2Ftwip%2F20070614.xml','align','middle','src','http://us.i1.yimg.com/us.yimg.com/i/us/nws/twip/yahoo_twip_v12.swf FlashVars="xmlFilename"=http%3A%2F%2Fnews.yahoo.com%2Ftwip%2F20070614.xml','quality','high','bgcolor','#1F1F1F','name','http://us.i1.yimg.com/us.yimg.com/i/us/nws/twip/yahoo_twip_v12.swf','allowscriptaccess','sameDomain','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','http://us.i1.yimg.com/us.yimg.com/i/us/nws/twip/yahoo_twip_v12.swf" FlashVars="xmlFilename"=http%3A%2F%2Fnews.yahoo.com%2Ftwip%2F20070614.xml' );

which has this section, which specifies an xml file:


FlashVars="xmlFilename"=http%3A%2F%2Fnews.yahoo.com%2Ftwip%2F20070614.xml'

when you replace the encoded characters with their real characters (%3A=:, %2F =/, etc) you get the address of the xml file it loads.

Oh, for a second there I thought it was something a poor layman like me could figure out. That’s what I keep you guys around for. :slight_smile:

Yes, just a guess, although a pretty obvious guess when you look at the HTML source. This architecture makes a lot more sense than a single bundled Flash for “slideshow” applications, since (1) it doesn’t require recompilation of a Flash binary every time you want to change something–just edit the XML; (2) it makes the Flash smaller, so the page is quicker to load and you don’t have to stare at a “Loading…” bar; and (3) it doesn’t require storing another copy of each image inside the application. It’s convenient to have the images specified via a parameter of the Flash application, though there are other ways of doing this too.

The images might still be bundled in the Flash if the slides are meant to be synchronized to music or something, or if the provider has a notion that it’s difficult to extract images from Flash (it’s not, though I suppose it provides an additional layer of obscurity).