http://www.perlmonks.org?node_id=1117001


in reply to Cryptic file names in iPhone backup

This is really more of an iOS question than a Perl question, but you can use Perl to sort of figure them out.

A little bit of searching indicates that the filenames are all SHA1 hashes of their "domain" and full file path separated by a dash, so that you can use Digest::SHA1 to do something like

my $data= $domain."-".$path; $digest = sha1($data);
and then compare $digest to filenames to see if you get the same thing. Since hashes are one-way functions (i.e. you can't run the algorithm backward to get the input information) you have to brute force it by guessing and hashing or use some google-fu to sort out details of the naming.

There's a little more information here: http://resources.infosecinstitute.com/ios-5-backups-part-1/, but some more time spent searching will probably find you what you need.