dissect.target.plugins.apps.virtualization.vmware_workstation

Module Contents

Classes

VmwareWorkstationPlugin

VMware Workstation plugin.

Functions

find_vm_inventory

Search for inventory.vmls files in user home folders.

parse_inventory_file

Parse a single inventory.vmls (Windows, Linux) or vmInventory (macOS) file.

Attributes

dissect.target.plugins.apps.virtualization.vmware_workstation.VmwareDragAndDropRecord
dissect.target.plugins.apps.virtualization.vmware_workstation.VmwareVirtualMachineRecord
dissect.target.plugins.apps.virtualization.vmware_workstation.INVENTORY_PATHS = ['AppData/Roaming/VMware/inventory.vmls', '.vmware/inventory.vmls', 'Library/Application...
dissect.target.plugins.apps.virtualization.vmware_workstation.DND_PATHS = ['AppData/Local/Temp/VmwareDND', '.cache/vmware/drag_and_drop']
class dissect.target.plugins.apps.virtualization.vmware_workstation.VmwareWorkstationPlugin(target: dissect.target.target.Target)

Bases: dissect.target.plugin.Plugin

VMware Workstation plugin.

__namespace__ = 'vmware'

Defines the plugin namespace.

inventories
dnd_dirs
check_compatible() None

Perform a compatibility check with the target.

This function should return None if the plugin is compatible with the current target (self.target). For example, check if a certain file exists. Otherwise it should raise an UnsupportedPluginError.

Raises:

UnsupportedPluginError – If the plugin could not be loaded.

find_dnd_dirs() collections.abc.Iterator[tuple[dissect.target.plugins.general.users.UserDetails, pathlib.Path]]
clipboard() collections.abc.Iterator[VmwareDragAndDropRecord]

Yield cached VMware Workstation drag-and-drop file artifacts.

config() collections.abc.Iterator[VmwareVirtualMachineRecord]

Yield VMware Workstation Virtual Machine inventory configurations.

Parses inventory.vmls and .vmx descriptor files. Does not parse newer .vmxf XML files. Does not support older vmAutoStart.xml or vmInventory.xml formats.

References

dissect.target.plugins.apps.virtualization.vmware_workstation.find_vm_inventory(target: dissect.target.target.Target) collections.abc.Iterator[tuple[pathlib.Path, dissect.target.plugins.general.users.UserDetails]]

Search for inventory.vmls files in user home folders.

dissect.target.plugins.apps.virtualization.vmware_workstation.parse_inventory_file(inventory: pathlib.Path) dict[str, Any] | None

Parse a single inventory.vmls (Windows, Linux) or vmInventory (macOS) file.