NT hat eine größtenteils undokumentierte API, die "Native API" genannt wird, auf der die üblichen Subsysteme (d.h. die Windows API, OS/2 API und POSIX (heutzutage als "Interix" bezeichnet) Subsysteme implementiert sind).Gibt es aktualisierte Bücher oder Websites in der nativen Windows NT-API?
Mehrere Bücher und Websites gibt, die versuchen, diese API zu dokumentieren:
- Einige dieser Funktionen in der Windows Driver Kit
- Undocumented Windows 2000 Secrets, A Programmers Cookbook, by Sven V. Schreiber
- Undocumented NTernals
- Windows NT/2000 Native API Reference, by Gary Nebbett
- NirSoft's Windows Vista Kernel Structures dokumentiert
Leider gibt es keins der Bücher oder Websites, die ich in die Finger kriegen kann, um die 64-Bit-Versionen von Windows zu bearbeiten (außer für die WDK natürlich, aber die WDK ist begrenzt ....). Die API-Aufrufe selbst sind die gleichen - das große Problem hat mit den Strukturdefinitionen selbst zu tun. Nämlich - dass ein Zeigerwert und DWORD auf 32-Bit-Plattformen dieselbe Größe haben, aber auf x64-Plattformen unterschiedlich sind. Daher sind die "unknown padding" -Bits der Strukturen, die oft als ein Array von DWORDs definiert sind, in x64-Fenstern falsch - und das Ergebnis ist völliger Müll.
Ich habe manuell um diese Art von Dingen herum gearbeitet, indem ich per API-Aufruf per Hand zusätzliche Padding hinzugefügt habe, aber das wird wirklich frustrierend, und es wäre schön, eine Ressource zu haben, die diese Dinge einfach dokumentiert würde bei Bedarf anstelle von DWORDs Zeiger verwenden, damit eine einzelne Strukturdefinition sowohl für 32-Bit- als auch für 64-Bit-Windows verwendet werden kann.
Gibt es eine solche Ressource?
Ich habe nichts auf x64 gesehen, um ehrlich zu sein, aber Sie könnten Glück haben zu überprüfen, ob ntlib ein 64-Bit-Update erhalten hat, können Sie auch auf openrce.org, sehen, ob sie etwas haben. Sonst muss ich auf ein 64 Bit Windows Source Leck warten: p – Necrolis