hwaudit: Registry-Abfragen werden nicht in 64-Bit-Registry durchgeführt

Antworten
gtokmaji
Beiträge: 3
Registriert: 01 Jun 2026, 22:34

hwaudit: Registry-Abfragen werden nicht in 64-Bit-Registry durchgeführt

Beitrag von gtokmaji »

hwaudit dokumentiert, dass Registry-Abfragen den nativen Registryzweig ohne Umleitung verwenden:
"Registry": "[<registry key>] <value name>"
Aus der Registry wird in <registry key> der Wert von <value name> ausgelesen.
Das Auslesen der Registry erfolgt Architektur spezifisch. Das heißt, auf einem 64 Bit System wird der 64 Bit Zweig der Registry ausgelesen.
Dies ist jedoch nicht der Fall; wie sich mit Process Monitor feststellen lässt, werden Abfragen innerhalb von HKEY_LOCAL_MACHINE\SOFTWARE in den WOW6432Node umgeleitet.

Meine Vermutung ist, dass es daran liegt, dass getRegistryValue ohne spezifische Architekturangabe aufgerufen wird, wodurch platform.architecture geprüft wird:

Code: Alles auswählen

def getRegistryValue(key, subKey, valueName, view: Literal["32bit", "64bit", "sysnative"] = "sysnative"):
	"""
	Get the value of a registry key.
	A view can be specified to explicitly read from the 32bit or 64bit registry view.
	If no view is specified, a WOW process will be redirected to the corresponding registration view.
	"""
	if view == "sysnative":
		view = "64bit" if "64" in platform.architecture()[0] else "32bit"
opsi-hwaudit.exe ist jedoch ein 32-Bit-Prozess, womit platform.architecture() immer "32bit" zurückgeben dürfte.

Code: Alles auswählen

{
   "Class": {
      "Type": "STRUCTURAL",
      "Opsi": "BUG_REPORT_TEST"
   },
   "Values": [
      {
         "Type":    "tinyint",
         "Scope":   "g",
         "Opsi":    "VersionMajor",
         "Registry": "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\7-Zip]VersionMajor"
      }
   ]
}
greift damit auf HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NodeMicrosoft\Windows\CurrentVersion\Uninstall\7-Zip zu, wodurch ein Auslesen des 64-Bit-Zweigs nicht möglich ist.

Bei welchen Versionen der beteiligten Komponenten tritt das Problem auf?

[ul]
[*]opsi-client-agent: 4.3.19.9-1
[*]hwaudit: 4.3.2.3-1 sowie 4.3.2.5-1
[/ul]
Antworten