Neue Low-Level Binärdateien
Betroffene Plattformen
Clients – Windows 7
Server – Windows Server 2008 R2
Auswirkungen auf Features
Schweregrad – Mittel
Frequency – High
BESCHREIBUNG
Um die Interne Engineering-Effizienz zu verbessern und die Grundlagen für zukünftige Arbeit zu verbessern, haben wir einige Funktionen in neue Binärdateien auf niedriger Ebene verschoben. Dieses Refactoring ermöglicht zukünftigen Installationen von Windows, um Teilmengen der Funktionalität bereitzustellen, um die Oberfläche zu reduzieren (Datenträger- und Arbeitsspeicheranforderungen, Wartung und Angriffsfläche).
Auswirkungen
Als Beispiel für die Funktionalität, die wir in Binärdateien auf niedriger Ebene verschoben haben, ruft kernelbase.dll Funktionen aus kernel32.dll und advapi32.dll ab. Dies bedeutet, dass die vorhandene Binärdatei jetzt Aufrufe an die neue Binärdatei weiterleitet, anstatt sie direkt zu verarbeiten. Die Weiterleitung kann statisch sein (die Exporttabelle zeigt die Umleitung) oder runtime (die DLL verfügt über eine Stubroutine, die die neue Binärdatei aufruft). Dies wirkt sich auf Low-Level-Anwendungen wie Sicherheits- und Sicherungsanwendungen aus, die von internen APIs und Offsets abhängig sind.
Lösung
Die einzige Auswirkung ist der Code, der Annahmen trifft, wenn versucht wird, die kernel32.dll oder die advapi32.dll Exporttabelle im Arbeitsspeicher zu betrachten, z. B. eine Antivirenanwendung. Verwenden Sie veröffentlichte APIs und nicht die Details ihrer Implementierung. Dies ist nur ein Beispiel für die Implementierung eines Implementierungsdetails für eine API.