mirror of
https://github.com/volatilityfoundation/volatility3.git
synced 2026-08-21 05:52:22 +02:00
refs #200 raise ValueError if an object doesn't have a name
This commit is contained in:
@@ -42,7 +42,7 @@ class DriverIrp(interfaces.plugins.PluginInterface):
|
||||
|
||||
try:
|
||||
driver_name = driver.get_driver_name()
|
||||
except exceptions.InvalidAddressException:
|
||||
except (ValueError, exceptions.InvalidAddressException):
|
||||
driver_name = renderers.NotApplicableValue()
|
||||
|
||||
for i, address in enumerate(driver.MajorFunction):
|
||||
|
||||
@@ -54,7 +54,7 @@ class DriverScan(interfaces.plugins.PluginInterface):
|
||||
|
||||
try:
|
||||
driver_name = driver.get_driver_name()
|
||||
except exceptions.InvalidAddressException:
|
||||
except (ValueError, exceptions.InvalidAddressException):
|
||||
driver_name = renderers.NotApplicableValue()
|
||||
|
||||
try:
|
||||
|
||||
@@ -319,7 +319,7 @@ class Handles(interfaces.plugins.PluginInterface):
|
||||
else:
|
||||
try:
|
||||
obj_name = entry.NameInfo.Name.String
|
||||
except exceptions.InvalidAddressException:
|
||||
except (ValueError, exceptions.InvalidAddressException):
|
||||
obj_name = ""
|
||||
|
||||
except (exceptions.InvalidAddressException):
|
||||
|
||||
@@ -52,7 +52,7 @@ class MutantScan(interfaces.plugins.PluginInterface):
|
||||
|
||||
try:
|
||||
name = mutant.get_name()
|
||||
except exceptions.InvalidAddressException:
|
||||
except (ValueError, exceptions.InvalidAddressException):
|
||||
name = renderers.NotApplicableValue()
|
||||
|
||||
yield (0, (format_hints.Hex(mutant.vol.offset), name))
|
||||
|
||||
@@ -53,7 +53,7 @@ class SymlinkScan(interfaces.plugins.PluginInterface, timeliner.TimeLinerInterfa
|
||||
|
||||
try:
|
||||
from_name = link.get_link_name()
|
||||
except exceptions.InvalidAddressException:
|
||||
except (ValueError, exceptions.InvalidAddressException):
|
||||
continue
|
||||
|
||||
try:
|
||||
|
||||
@@ -362,7 +362,10 @@ class FILE_OBJECT(objects.StructType, pool.ExecutiveObject):
|
||||
name = renderers.UnreadableValue() # type: Union[str, interfaces.renderers.BaseAbsentValue]
|
||||
|
||||
if self._context.layers[self.vol.layer_name].is_valid(self.DeviceObject):
|
||||
name = "\\Device\\{}".format(self.DeviceObject.get_device_name())
|
||||
try:
|
||||
name = "\\Device\\{}".format(self.DeviceObject.get_device_name())
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
try:
|
||||
name += self.FileName.String
|
||||
|
||||
@@ -294,6 +294,11 @@ class OBJECT_HEADER(objects.StructType):
|
||||
layer_name = self.vol.native_layer_name,
|
||||
offset = kvo + address + calculated_index)
|
||||
|
||||
if header_offset == 0:
|
||||
raise ValueError(
|
||||
"Could not find _OBJECT_HEADER_NAME_INFO for object at {} of layer {}".format(self.vol.offset,
|
||||
self.vol.layer_name))
|
||||
|
||||
header = self._context.object(symbol_table_name + constants.BANG + "_OBJECT_HEADER_NAME_INFO",
|
||||
layer_name = self.vol.layer_name,
|
||||
offset = self.vol.offset - header_offset,
|
||||
|
||||
Reference in New Issue
Block a user