Extract (uncrush) Images from an iOS App

Often I’ll see an app incorporate a new UI implementation that really impresses me. Still being a learner, I always wonder how these elements are coded or put together — is it an image trick? Maybe a CGGradientLayer? How are they able to achieve so much speed? It’s times like these that it helps to get a small peek under the hood. Like Mac apps, iOS apps are bundled together basically as a zip file — you can actually change the IPA extension to ZIP and unarchive the app very easily. The limitation here is Xcode compresses (or ‘crushes’) the png’s used in an app to keep the file size down. Luckily, since iOS 3.2, the command line tool that compressed these images included the added functionality of decompressing them. Peter Boctor (of iDevRecipes) wrote a Ruby script called App Crush that would uncrush the png files (with instructions here) but it hasn’t been updated in about a year. Since then, Apple has changed how Xcode is deployed (through the App Store these days) and the location in which they put it. It’s very easy to update the Ruby script to find the new Xcode and several have. I wanted to make it just a tad easier and created an Applescript Droplet that allows you to drag the IPA onto it and uncrushes the png files. You can download it here. I’ve also made this version’s source available here. This is my first attempt at an AppleScript Droplet (which seems like a dying tech) so if you see something that could be done better, let me know!

Usage instructions:

  1. If you don’t know the location of the IPA (app) you’d like to uncrush, open iTunes and click the apps tab, right click on the app you’d like and click “Reveal in Finder”
  2. Drag IPA onto the App Uncrusher
  3. It’ll take up to a few minutes to finish and you’ll have a folder called “APPNAME images” on your desktop that should be full of pngs.

Be ethical with this. Don’t steal another app’s images and call them your own.

  • TornadoLeo

    @jayson : I dragged the ipa file onto the app uncrusher icon is said all done but when i opened the folder on desktop it only contains the jpg images no png’s wer there !! :( …. U have any idea whats wrong m using xcode 4.4.1 ios sdk 5.1..

    • jaysonlane

      What app was it that you were trying to uncrush? I’ve noticed sometimes, especially with games, that there may not be any pngs, only jpegs or no images at all (in which case I believe they’re being downloaded/cached)

      • tornadoleo

        Hey jayson i was testing ibeer app and m sure it doesnot download any images from server. also m sure it contains png images. I manually extracted one of them but i want all thats y using ur tool .. dont know whats the issue is

      • tornadoleo

        Hey please check it once from ur side for ibeer app..