dissect.target.filesystems.itunes#

Module Contents#

Classes#

ITunesFilesystem

Filesystem implementation for iTunes backups.

ITunesFilesystemEntry

Virtual file backed by a file-like object.

ITunesFilesystemDirectoryEntry

Virtual directory implementation. Backed by a dict.

EncryptedFileStream

Transparently decrypted AES-CBC decrypted stream.

class dissect.target.filesystems.itunes.ITunesFilesystem(backup: dissect.target.loaders.itunes.ITunesBackup, *args, **kwargs)#

Bases: dissect.target.filesystem.Filesystem

Filesystem implementation for iTunes backups.

__type__ = 'itunes'#
get(path: str, relentry: dissect.target.filesystem.FilesystemEntry | None = None) dissect.target.filesystem.FilesystemEntry#

Returns a ITunesFileEntry object corresponding to the given path.

class dissect.target.filesystems.itunes.ITunesFilesystemEntry(fs: Filesystem, path: str, entry: Any)#

Bases: dissect.target.filesystem.VirtualFile

Virtual file backed by a file-like object.

open() BinaryIO#

Returns file handle (file-like object).

iterdir() Iterator[str]#

Iterate over the contents of a directory, return them as strings.

Returns:

An iterator of directory entries as path strings.

scandir() Iterator[dissect.target.filesystem.FilesystemEntry]#

Iterate over the contents of a directory, return them as FilesystemEntry’s.

Returns:

An iterator of directory entries as FilesystemEntry’s.

is_dir(follow_symlinks: bool = True) bool#

Return whether this entry is a directory.

is_file(follow_symlinks: bool = True) bool#

Return whether this entry is a file.

Return whether this entry is a link.

Read the link if this entry is a symlink. Returns a string.

Read the link if this entry is a symlink. Returns a filesystem entry.

stat(follow_symlinks: bool = True) dissect.target.helpers.fsutil.stat_result#

Return the stat information of this entry.

lstat() dissect.target.helpers.fsutil.stat_result#

Determine the stat information of this entry, without resolving the symlinks.

When it detects a symlink, it will stat the information of the symlink, not the path it points to.

Returns:

The stat information of this entry.

class dissect.target.filesystems.itunes.ITunesFilesystemDirectoryEntry(fs: dissect.target.filesystem.Filesystem, path: str, entry: dissect.target.loaders.itunes.FileInfo)#

Bases: dissect.target.filesystem.VirtualDirectory

Virtual directory implementation. Backed by a dict.

stat(follow_symlinks: bool = True) dissect.target.helpers.fsutil.stat_result#

Return the stat information of this entry.

lstat() dissect.target.helpers.fsutil.stat_result#

Return the stat information of the given path, without resolving links.

class dissect.target.filesystems.itunes.EncryptedFileStream(file_info: dissect.target.loaders.itunes.FileInfo)#

Bases: dissect.util.stream.AlignedStream

Transparently decrypted AES-CBC decrypted stream.