Native API

Native API は、システムを直接制御する Windows NT 系 の API 群です。多くは Kernel-mode と User-mode との橋渡し的な API として使用されることが目的のようです。

Native API の殆どはドキュメント化されておらず、通常のプログラムで使用することは禁忌とされている API です。当然、Microsoft 社からの保障もありませんし、OS のバージョンアップに伴う仕様変更にも耐えられる保障もありません。

関連情報

  • Inside the Native API (Develop/Sysinternals)
    Sysinternals の Native API 情報。最近 Windows XP で新たにサポートされた Native API が追加されています。
  • MinGW
    MinGW 内のパッケージの一つに w32api*1 の中に PDS の Native API Header(ntapi.h) が用意されています。活用するならこの Header を利用するといいかも。
  • Multiple WinXP kernel vulns can give user mode programs kernel mode privileges (SecurityFocus)
    www.itmedia.co.jp/enterprise/0402/20/epn06.html
    MSRでも紹介していますが、Native API の実装として ZwSystemDebugControl() を利用したセキュリティホールの紹介があります。確かに機能はかなり凄いのですが Microsoft 社としては Debug 権限を取得されてしまった時点でアウトだから仕様で問題なし、との見解らしい。
  • Libsmbios Library
    Native API(ZwSystemDebugControl) の実装例。アレゲ。

Windows NT/2000ネイティブAPIリファレンス

多分、Native API について専門にここまで扱った本は未だかつて無いし、今後も無いんじゃないかと思えるほどマニアック。著者の page は既に閉鎖してしまっています。


*1 Windows API パッケージ。確か GNU プロジェクトとしても配布されていたはず
*2 ネタがアレなだけにセキュリティには気をつけた方が、、、

Last-modified: 2006.11.11 (土) 01:36:22 (6572d)