Notes na iPodzie i iPhonie

Posted on Wed 27 August 2008 in iPhone/iPod Touch • 1 min read

Erica Sadun podała sposób na wyciągnięcie z backupów starych notek:

  1. Zachowaj poniższy skrypt jako dbextract.pl w katalogu, który jest w zmiennej $PATH #!/usr/bin/perl -w use strict; # This file clumsily extracts the DB's hidden in the iPhone backup files # Usage: perl -w dbpextract.pl /Users/flip/Library/Application\ Support/MobileSync/Backup/*/* my %seen; foreach my $filename (@ARGV) { # Slurp File Contents open(FILE, "<$filename") or die "Can't open $filename: $!"; my $data = do {local $/; binmode FILE; }; close(FILE); # skip non-SQLite Files ($data =~ m|SQLite|) or next; # identify the file and use it to name the output my $type = ($data =~ m!([^/]*?)\.(sqlitedb|db)!) ? $1 : 'unknown'; $seen{$type}++; my $outfilename = sprintf "%s_%02d.db", $type, $seen{$type}; # Helpful progress report printf STDERR "%-60s to %-25s\n", $filename, $type, $outfilename; # dump the part between "SQLite format 3" and end # FIXME -- is there cruft at end? I don't know the SQLite format. Maybe you do? open(OUTFILE, ">$outfilename") or die "Can't open $outfilename: $!"; binmode OUTFILE; my $sqlitedb = $data; $sqlitedb =~ s/^(.*?SQLite format 3)/SQLite format 3/; print OUTFILE $sqlitedb; close(OUTFILE); }
  2. Przejdź do ~/Library/Application Support/MobileSync/Backup,
  3. Wylistuj zawartość chronologicznie: ls -lt,
  4. Przejdź do najnowszego folderu i uruchom dbextract.pl z plikiem mdbackup jako parametrem, np.: dbextract.pl *.mdbackup,
  5. Zbadaj otrzymane pliki. Jeśli trzeba otwórz je w sqlite3 i zdumpuj ich zawartość. Jeśli masz to czego szukałeś to fajnie, jeśli nie to przejdź do następnego chronologicznie folderu i powtórz od kroku nr 4,
  6. Gdy znajdziesz odpowiedni plik notes.db, przescpuj go do iPhone'a/iPoda do folderu /var/[name]/Library/Notes.

Zamiast [name] użyj: root - jeśli firmware twojego iPoda jest niższy od 1.1.4, mobile - w innym przypadku.