Find file History
Latest commit f80265d Jul 16, 2013 @jyap808 jyap808 Update appcrush.rb
Fix pngcrush file location.
Failed to load latest commit information. Added README Jan 6, 2011
appcrush.rb Update appcrush.rb Jul 16, 2013

Blog post:

To recreate features of existing apps, we can use a big clue: the images an app uses. This will often give us insight into how the feature was built.

You can right click on an App in iTunes and see the app’s .ipa file.


An .ipa file is just a zip file that is easily expanded resulting in a Payload folder that has the actual .app.


But we can’t just double click on the images and open them in something like


During app compilation Xcode optimizes all images so they aren’t readable by standard tools like

We need to undo the optimization and restore the images back to their original form.

The tool that the SDK uses to optimize the images is pngcrush and starting with the 3.2 SDK, Apple added the ‘revert-iphone-optimizations’ option to undo this optimization.

I wrote a quick ruby script called appcrush that automates this process.

Point appcrush at an .ipa file from the iTunes AppStore and it:

  • expands the zip file
  • finds all the images
  • runs pngcrush with the revert-iphone-optimizations option on each image

    appcrush '/Users/boctor/Music/iTunes/Mobile Applications/iBooks.ipa'

Blog post: