Notes na iPodzie i iPhonie

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.