Skip to content

Glossar

INDEX.BTR

Der B-Baum-Index des WMI-Repositorys: Textschlüssel aus gehashten Namen von Namespace, Klasse und Instanz, die auf Datensätze in OBJECTS.DATA verweisen.

INDEX.BTR ist der B-Baum-Index des CIM-Repositorys. Er ist wie OBJECTS.DATA in Seiten zu 8 KiB gespeichert und enthält Textschlüssel. Jeder Schlüssel ist ein Pfad aus gehashten Namen, der mit der Position eines Datensatzes endet: seiner logischen Seite, seiner Datensatz-ID und seiner Länge. Folgt man einem Schlüssel über die aktuelle MAPPING-Datei, gelangt man zu den richtigen Bytes in OBJECTS.DATA.

Jeder Teil eines Schlüssels besteht aus einem Präfix und dem SHA-256 des in Großbuchstaben umgewandelten Namens, als Hex in Großbuchstaben (MD5 unter Windows XP und Server 2003). NS_ kennzeichnet einen Namespace, CD_ eine Klassendefinition und CI_ gefolgt von IL_ eine Instanz einer Klasse.

Warum das für Untersuchungen wichtig ist

Der Index trennt aktive von gelöschten Objekten. Ein Datensatz, auf den ein Schlüssel über eine Seite verweist, die die aktuelle Zuordnung noch verwendet, ist aktiv; ein Datensatz, der nur durch einen Scan gefunden wird, ist freigegeben oder überholt. Der Index liefert außerdem den Namespace jedes Objekts, den die Datensätze selbst nicht speichern. Ohne ihn lässt sich eine gecarvte Subscription weder root\subscription noch einem anderen Namespace zuordnen.

Da Namen gehasht werden, enthält der Index nie einen lesbaren Namespace- oder Klassennamen. Lesbare Namen stammen aus __NAMESPACE-Instanzen und aus den Klassendefinitionen. Und weil er zur Zuordnung und zur Datendatei passen muss, ist INDEX.BTR nur verlässlich, wenn alle Dateien des Repositorys zum selben Zeitpunkt gesichert wurden.

Beispiel

Zwei Schlüssel, die Hashes als Funktionen der kodierten Namen geschrieben:

NS_<h("ROOT\SUBSCRIPTION")>/CD_<h("COMMANDLINEEVENTCONSUMER")>.268.2079887499.561
NS_<h("ROOT\SUBSCRIPTION")>/CI_<h("__EVENTFILTER")>/IL_<h(key)>.271.2079886610.299

Der erste ist die Klassendefinition von CommandLineEventConsumer in root\subscription, der zweite eine __EventFilter-Instanz. Das Suffix bedeutet logische Seite 271, Datensatz-ID 2079886610, 299 Byte.

Verwandte Begriffe

WMI Parser durchläuft diesen Index, wenn INDEX.BTR und eine MAPPING-Datei vorhanden sind, und carvt anschließend die gesamte Datendatei. Das Format im Detail beschreibt OBJECTS.DATA: forensische Analyse des WMI-Repositorys.