#topicpath ----- *Native API [#w2039ad0] *Native API [#title] Native API は、システムを直接制御する Windows NT 系 の API 群です。多くは Kernel-mode と User-mode との橋渡し的な API として使用されることが目的のようです。 Native API の殆どはドキュメント化されておらず、通常のプログラムで使用することは''禁忌''とされている API です。当然、Microsoft 社からの保障もありませんし、OS のバージョンアップに伴う仕様変更にも耐えられる保障もありません。 *関連情報 [#q0118d82] *関連情報 [#infor] -[[Inside the Native API:http://www.sysinternals.com/Information/NativeApi.html]] ([[Develop/Sysinternals]])~ Sysinternals の Native API 情報。最近 Windows XP で新たにサポートされた Native API が追加されています。 -[[MinGW:http://www.mingw.org/]]~ MinGW 内のパッケージの一つに w32api((Windows API パッケージ。確か GNU プロジェクトとしても配布されていたはず)) の中に PDS の Native API Header(ntapi.h) が用意されています。活用するならこの Header を利用するといいかも。 -[[Multiple WinXP kernel vulns can give user mode programs kernel mode privileges:http://www.securityfocus.com/archive/1/354392/2004-05-23/2004-05-29/1]] ([[SecurityFocus:http://www.securityfocus.com/]])~ www.itmedia.co.jp/enterprise/0402/20/epn06.html~ [[MSR>CPU/MSR]]でも紹介していますが、Native API の実装として ZwSystemDebugControl() を利用したセキュリティホールの紹介があります。確かに機能はかなり凄いのですが Microsoft 社としては Debug 権限を取得されてしまった時点でアウトだから仕様で問題なし、との見解らしい。 -[[Libsmbios Library:http://linux.dell.com/libsmbios/main/index.html]]~ Native API(ZwSystemDebugControl) の実装例。アレゲ。 -http://undocumented.ntinternals.net/~ Native API 集。Java VM を起動しようとするアレな page のようです((ネタがアレなだけにセキュリティには気をつけた方が、、、))。結構纏まった量の Native API があります。 -[[try...except がWinXP SP1 で動作が異なる:http://forums.belution.com/ja/vc/000/346/17s.shtml]] (http://www.belution.com/ )~ 「ユーザーモードでの特権命令を使用可能にする」という NtSetInformationProcess という関数が紹介されていました。 *Windows NT/2000ネイティブAPIリファレンス [#i320253e] *Windows NT/2000ネイティブAPIリファレンス [#native-api] #amazon(489471244X) 多分、Native API について専門にここまで扱った本は未だかつて無いし、今後も無いんじゃないかと思えるほどマニアック。著者の page は既に閉鎖してしまっています。 -[[Windows NT/2000ネイティブAPIリファレンス:http://www.pearsoned.co.jp/washo/win/wa_win49-j.html]] ([[ピアソン・エデュケーション:http://www.pearsoned.co.jp/washo/index.html]])~ サンプルコードはキット役立つはず。 #amazon(,clear)