Paul Irish

Making the www great

Unobfuscating Packed Javascript

I started to get curious around Virb’s code and wanted to take a peek at how they’re doing some things.. Their global js didn’t prove to be too helpful.. It was just packed and obfuscated: http://www.virb.com/_js/global.js

packedcode.PNG

In fact, a lot of javascript gets packed up these days with Dean Edwards amazing Packer functionality. This is great for delivery and optimization, but hard for people to poke in and learn some new techniques. I couldn’t be so easily defeated by Virb’s code.

Ryan at YAIB created a little bookmarklet widget to enable the decode functionality at dean’s packer site. Drag the reEnable link to your bookmark bar, then head over to the packer site and click the button. The “copy” textarea should now be writeable and the decode button activated. Now copy in your packed and obfuscated code and hit decode.

If successful, you should now see some var’s and null’s and everything be looking a little more like readable javascript. Head over to Beautify Javascript, paste your decoded code in, and hit the big button.

You’ll now have some nice looking javascript to inspect. Cheers.

Update 2008.12.17: Changed to use Beautify Javacript instead of PrettyPrinter.de

Comments