dissect.archive.vma
¶
Module Contents¶
Classes¶
Proxmox VMA. |
|
Basic buffered stream that provides easy aligned reads. |
- class dissect.archive.vma.VMA(fh)¶
Proxmox VMA.
Parse and provide a readable object for devices in a Proxmox VMA backup file. VMA is designed to be streamed for extraction, so we need to do some funny stuff to create a readable object from it. Performance is not optimal, so it’s generally advised to extract a VMA instead. The
vma-extract
utility can be used for that.- fh¶
- header¶
- version¶
- uuid¶
- property creation_time¶
- blob_data(offset)¶
- blob_string(offset)¶
- config(name)¶
- configs()¶
- device(dev_id)¶
- devices()¶
- extents()¶
- class dissect.archive.vma.Extent(fh, offset)¶
- fh¶
- offset¶
- data_offset¶
- header¶
- uuid¶
- size¶
- blocks¶
- __repr__()¶
- class dissect.archive.vma.DeviceDataStream(device)¶
Bases:
dissect.util.stream.AlignedStream
Basic buffered stream that provides easy aligned reads.
- Must be subclassed for various stream implementations. Subclasses can implement:
_read(offset, length)
_seek(pos, whence=io.SEEK_SET)
The offset and length for _read are guaranteed to be aligned. The only time that overriding _seek would make sense is if there’s no known size of your stream, but still want to provide SEEK_END functionality.
Most subclasses of AlignedStream take one or more file-like objects as source. Operations on these subclasses, like reading, will modify the source file-like object as a side effect.
- Parameters:
size – The size of the stream. This is used in read and seek operations. None if unknown.
align – The alignment size. Read operations are aligned on this boundary. Also determines buffer size.
- device¶
- vma¶