HydraScope Enumerators Documentation#

HydraScope provides a set of enumerators that are used to gather information about a system during scanning processes. These enumerators play a crucial role in understanding the capabilities and features of the system under examination. Below is the documentation for each enumerator:

Smart Scan Run#

Description: The Smart Scan Run enumerator combines various other enumerators to gather the most general information possible about the target system. It leverages the information collected by other enumerators to provide a holistic view of the system. This enumerator is not safe to use on a full vehicle scan.

Available Services Enumeration#

Description: The Available Services Enumeration enumerator fetches information about the UDS services supported by the target system. It identifies both available services and negative responses for services that are not supported.

DiagnosticSessionControl (0x10) Enumeration#

Description: The DiagnosticSessionControl enumerator enables the capability to change diagnostic sessions on the target system, depending on the security level. This enumerator plays a vital role in accessing different diagnostic modes for comprehensive scanning and testing. This enumerator is not safe to use on a full vehicle scan.

ReadDataByIdentifier (0x22) Enumeration#

Description: The ReadDataByIdentifier enumerator is designed to read data from the target system based on specific identifiers within a given scan range. It allows retrieving important data points that can provide insights into the system’s configuration and functionality.

Smart ReadDataByIdentifier (0x22) Enumeration#

Description: The Smart ReadDataByIdentifier enumerator is an intelligent variant of the ReadDataByIdentifier enumerator. It utilizes a more sophisticated approach to optimize data retrieval based on identifier information and scan range.

Smart WriteDataByIdentifier (0x2E) Enumeration#

Description: The Smart WriteDataByIdentifier enumerator is responsible for using the Write Data By Identifier services on the target system. It follows a two-step process, first reading the value of the identifier and then writing the same value to the identifier. This prevents undesired modification of the system.

SecurityAccess (0x27) Enumeration#

Description: The SecurityAccess enumerator is used to discover available security seeds with access type and state on the target system. This information is essential for understanding the security mechanisms in place and gaining appropriate access to the system.

SecurityAccess (0x27) Enumeration - XOR-Key Probing#

Description: The XOR-Key Probing variant of the SecurityAccess enumerator attempts to access available security levels by using an XOR-based method to generate the key from the seed.

SecurityAccess (0x27) Enumeration - Query Server for Keys#

Description: The Query Server for Keys variant of the SecurityAccess enumerator attempts to access available security levels by using an external security access server. This method provides an alternative approach to handle security challenges.

RoutineControl (0x31) Enumeration#

Description: The RoutineControl enumerator enables users to identify control routines on the target system. Users can scan for start, stop, and retrieve results of routines based on the configuration. This enumerator is not safe to use on a full vehicle scan.

RoutineControl (0x31) Enumeration - RoutineControlType ‘startRoutine’ only#

Description: The RoutineControl enumerator, with the ‘startRoutine’ type, is specifically designed to start routines on the target system. This enumerator is not safe to use on a full vehicle scan.

Smart RoutineControl (0x31) Enumeration#

Description: The Smart RoutineControl enumerator only scans for stop routines and retrieve results routines on the target system. Therefore it is safe to use on full vehicle scans.

Smart ReadMemoryByAddress (0x23) Enumeration#

Description: The Smart ReadMemoryByAddress enumerator provides a sophisticated method to probe for the read memory addresses service on the target system by combining the Random ReadMemoryByAddress Enumeration followed by the Sequential ReadMemoryByAddress Enumeration.

Random ReadMemoryByAddress (0x23) Enumeration#

Description: The Random ReadMemoryByAddress enumerator randomly reads memory addresses on the target system, contributing to a more diverse data collection.

TesterPresent (0x3E) Enumeration#

Description: The TesterPresent enumerator verifies whether the Tester Present service is supported on the target system.

ECUReset (0x11) Enumeration#

Description: The ECUReset enumerator verifies whether the ECU Reset service is supported on the target system.

InputOutputControlByIdentifier (0x2F) Enumeration#

Description: The InputOutputControlByIdentifier enumerator gathers available Input Output Controls based on their identifiers and provides information about negative responses per state. This enumerator is not safe to use on a full vehicle scan.

CommunicationControl (0x28) Enumeration#

Description: The CommunicationControl enumerator tests if the Communication Control service is supported on the target system.

RequestDownload (0x34) Enumeration#

Description: The RequestDownload enumerator tests if the Request Download service is supported on the target system.

TransferData (0x36) Enumeration#

Description: The TransferData enumerator tests if the Transfer Data service is supported on the target system.

ReadDataByPeriodicIdentifier (0x2A) Enumeration#

Description: The ReadDataByPeriodicIdentifier enumerator tests if the Read Data By Periodic Identifier service is supported on the target system.