NT ma głównie nieudokumentowane API, zwane "Natywnym API", w którym zaimplementowane są wspólne podsystemy (tj. Windows API, OS/2 API i POSIX (zwykle nazywane "obecnie podsystemami" Interix ").Czy są dostępne zaktualizowane książki lub witryny w systemie Windows NT Native API?
Kilka książek i stron internetowych istnieje których próba udokumentowania tego API:
- Niektóre z tych funkcji są udokumentowane w 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
Niestety, żadna z książek i stron internetowych nie jest w stanie podjąć prób dotknięcia 64-bitowych wersji systemu Windows (z wyjątkiem WDK oczywiście, ale WDK jest ograniczony ...). Same wywołania API są takie same - duży problem dotyczy samej definicji struktury. Mianowicie - że wartość wskaźnika i DWORD są takie same na platformach 32-bitowych, ale inne na platformach x64. Dlatego też "nieznane dopełnienie" bitów struktur, które są często definiowane jako tablica DWORDów, jest błędne w oknach x64 - a wynikiem jest całkowite wyrzucenie.
Ręcznie pracowałem przy tego typu rzeczach, dodając dodatkowe wyściółki ręcznie na wywołanie API, ale robi się to naprawdę frustrujące i byłoby miło mieć zasób, który właśnie udokumentował te rzeczy w taki sposób, że "w razie potrzeby używaj wskaźników zamiast DWORD, aby definicja jednej struktury mogła służyć zarówno w 32-, jak i 64-bitowym systemie Windows.
Czy taki zasób istnieje?
Nie widziałem niczego na x64, aby być szczerym, ale możesz mieć szczęście sprawdzając, czy ntlib otrzymał 64-bitową aktualizację, możesz również sprawdzić openrce.org, sprawdzić, czy coś mają. Inaczej trzeba będzie poczekać na wyciek z 64-bitowego źródła Windows: p – Necrolis