²é¿´: 331  |  »Ø¸´: 3
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

kiyeer

Ìú³æ (³õÈëÎÄ̳)

[½»Á÷] VxD±à³ÌÈëÃŽ̳Ì(¶þ)

VxD±à³ÌÈëÃŽ̳Ì(¶þ)

Èý¡¢Windows 95£¯98Ó¦ÓóÌÐòÓëVxDµÄͨÐÅ

Windows 95£¯98Ó¦ÓóÌÐòÓëVxDµÄͨÐÅÒ»°ãʹÓÃDeviceIoControlº¯Êý£¬
ÕâÀï¸ø³öÒ»¸öʵÀýÔ´³ÌÐò£¨FHTEST.C£©ÈçÏ£º

//À¹½ØWindows 95£¯98Îļþ²Ù×÷²âÊÔ³ÌÐò

#include
#include "tchar.h"

#define INSTALL_FILE_SYSTEM_API_HOOK 1
#define UNINSTALL_FILE_SYSTEM_API_HOOK 2

static TCHAR szAppName[]=_T("FHTEST";
static TCHAR szAppTitle[]=_T("À¹½ØWindows 95£¯98Îļþ²Ù×÷²âÊÔ³Ì
Ðò";
static HANDLE hDevice;

LRESULT CALLBACK WndProc(HWND hWnd,UINT Message,WPARAM
wParam,LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE
hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
HWND hWnd;
WNDCLASSEX wcex;
MSG Msg;
//±¾³ÌÐò²»ÄÜÔÚWindows NTÖÐÔËÐÐ
if(GetVersion()<0x80000000)
{
MessageBox(NULL,_T("±¾³ÌÐò²»ÄÜÔÚWindows NTÖÐÔËÐУ¡
",szAppTitle,MB_ICONINFORMATION|MB_OK);
return FALSE;
}
if(!hPrevInstance)
{
wcex.cbSize=sizeof(WNDCLASSEX);
wcex.style=CS_HREDRAW|CS_VREDRAW;
wcex.lpfnWndProc=WndProc;
wcex.cbClsExtra=0;
wcex.cbWndExtra=0;
wcex.hInstance=hInstance;
wcex.hIcon=LoadIcon(hInstance,IDI_APPLICATION);
wcex.hCursor=LoadCursor(NULL,IDC_ARROW);
wcex.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName=NULL;
wcex.lpszClassName=szAppName;
wcex.hIconSm=LoadIcon(hInstance,IDI_APPLICATION);
if(!RegisterClassEx(&wcex)) return FALSE;
}
hWnd=CreateWindow(szAppName,szAppTitle,WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
0,0,hInstance,NULL);
if(!hWnd) return FALSE;
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&Msg,0,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hWnd,UINT Message,WPARAM
wParam,LPARAM lParam)
{
HDC hDC;
PAINTSTRUCT ps;
DWORD cb;
BOOL bResult;
switch(Message)
{
case WM_CREATE:

hDevice=CreateFile("\\\\.\\FILEHOOK.VXD",0,0,NULL,0,FILE_FLA
G_DELETE_ON_CLOSE,NULL);
if(hDevice!=INVALID_HANDLE_VALUE)
{

bResult=DeviceIoControl(hDevice,INSTALL_FILE_SYSTEM_API_HOOK,
NULL,0,NULL,0,&cb,0);
if(bResult) MessageBox(hWnd,_T("ÎļþϵͳAPI ¹³×Ó°²×°
³É¹¦£¡",szAppTitle,MB_ICONINFORMATION|MB_OK);
else MessageBox(hWnd,_T("²»Äܰ²×°ÎļþϵͳAPI ¹³×Ó£¡
",szAppTitle,MB_ICONINFORMATION|MB_OK);
}
else
{
MessageBox(hWnd,_T("²»ÄÜ´ò¿ªFILEHOOK.VXD£¡
",szAppTitle,MB_ICONINFORMATION|MB_OK);
}
break;
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);
EndPaint(hWnd,&ps);
break;
case WM_DESTROY:
if(hDevice!=INVALID_HANDLE_VALUE)
{

bResult=DeviceIoControl(hDevice,UNINSTALL_FILE_SYSTEM_API_HO
OK,NULL,0,NULL,0,&cb,0);
if(bResult) MessageBox(hWnd,_T("ÎļþϵͳAPI ¹³×ÓÒÆÈ¥
³É¹¦£¡",szAppTitle,MB_ICONINFORMATION|MB_OK);
else MessageBox(hWnd,_T("²»ÄÜÒÆÈ¥ÎļþϵͳAPI ¹³×Ó£¡
",szAppTitle,MB_ICONINFORMATION|MB_OK);
CloseHandle(hDevice);
}
else
{
MessageBox(hWnd,_T("²»ÄÜ´ò¿ªFILEHOOK.VXD£¡
",szAppTitle,MB_ICONINFORMATION|MB_OK);
}
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd,Message,wParam,lParam);
}
return 0;
}

±¾³ÌÐòʹÓÃCreateFileº¯Êý¶¯Ì¬×°ÔØVxD£¬È»ºóÓÃDeviceIoControlº¯Êý
ÏòVxD·¢ËÍÉ豸I£¯O¿ØÖÆ´úÂ룬°²×°ºÍÒÆÈ¥ÎļþϵͳAPI¹³×Ó£¬×îºóÓÃ
CloseHandleº¯Êý¶¯Ì¬ÒÆÈ¥VxD¡£
ÔËÐиóÌÐòʱ£¬Èç¹ûÎļþϵͳAPI¹³×Ó°²×°³É¹¦£¬»áÏÔʾ³ö¡°ÎļþϵͳAPI
¹³×Ó°²×°³É¹¦£¡¡±µÄÏûÏ¢¿ò£¬È»ºóÖ»Òª½øÐдò¿ªÎļþ²Ù×÷£¬¾Í»áÏÔʾ³ö¡°Open
File !¡±µÄÏûÏ¢¿ò¡£Í˳ö¸Ã³ÌÐòʱ£¬Èç¹ûÎļþAPI¹³×ÓÒÆÈ¥³É¹¦£¬»áÏÔʾ
³ö¡°ÎļþAPI¹³×ÓÒÆÈ¥³É¹¦£¡¡±µÄÏûÏ¢¿ò£¬ÒÔºó½øÐдò¿ªÎļþ²Ù×÷ʱ²»ÔÙ
ÏÔʾÏûÏ¢¿ò¡£

ËÄ¡¢Ð¡½á

ÉÏÊöʵÀýÑÝʾÁËÒ»¸öÍêÕûµÄÀ¹½ØWindows 95£¯98ÎļþϵͳAPIµÄVxDºÍ
Windows 95£¯98Ó¦ÓóÌÐòÓë¸ÃVxDͨÐŵķ½·¨¡£¸ÃVxD¿ÉÒÔ×÷Ϊһ¸ö»ù±¾
¿ò¼Ü£¬ÉÔ×÷Ð޸ļ´¿ÉÓÃÓÚ²¡¶¾·À»ðǽµÈÈí¼þ¡£ÆäʵVxDµÄ¹¦ÄÜÔ¶²»Ö¹ÕâЩ£¬
³ä·ÖÀûÓÃVxDµÄ¹¦ÄÜ¿ÉÒÔ±àд³öÐí¶àÓÃAPI²»Äܱàд³öµÄ¸ß¼¶Ó¦ÓóÌÐò¡£
±¾½Ì³ÌÖ»ÊÇÒ»¸ö¼òµ¥µÄVxD±à³ÌÀý×Ó£¬ÒòΪ±ÊÕßˮƽËùÏÞ£¬¼Ó֮ʱ¼ä½ÏÉÙ£¬
дµÃ½ÏΪ¼òµ¥£¬»¹Çë´ó¼Ò¼ûÁ£¬Í¬Ê±Ò²»¶Ó­´ó¼ÒÌÖÂÛ¡£±¾½Ì³ÌÖÐʹÓõÄVMM
¹¦ÄÜ¡¢VxD¹¦ÄܺÍAPIº¯ÊýÇë²éÔÄÏà¹ØÊÖ²á»òÕß°ïÖú¡£

[ Last edited by »ÃÓ°ÎÞºÛ on 2006-11-4 at 07:48 ]
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wss71

гæ (ÕýʽдÊÖ)

2Â¥2006-02-28 20:55:49
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

1

3Â¥2006-03-04 14:45:23
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

1

4Â¥2006-03-06 12:25:39
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ kiyeer µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] Àíѧ£¬¹¤Ñ§£¬Å©Ñ§µ÷¼Á£¬ÉÙ×ßÍä·£¬ÕâÀï»¶Ó­Äú£¡ +3 likeihood 2026-03-02 5/250 2026-03-02 16:37 by ZRH_878
[¿¼ÑÐ] ½ÓÊÕµ÷¼Á +4 ½òÃȽòÃÈ 2026-03-02 7/350 2026-03-02 16:37 by ½òÃȽòÃÈ
[¿¼ÑÐ] ²ÄÁÏ284Çóµ÷¼Á£¬Ò»Ö¾Ô¸Ö£ÖÝ´óѧӢһÊý¶þר˶ +12 ÏëÉϰ¶µÄÍÁ²¦Êó 2026-02-28 12/600 2026-03-02 16:18 by youmomaoyan
[¿¼ÑÐ] »¯Ñ§£¬²ÄÁÏ£¬»·¾³ÀàÇóµ÷¼Á +3 ¿¼Ñаæ°ô°ô 2026-03-02 3/150 2026-03-02 16:10 by @ìªìªìªìª
[¿¼ÑÐ] ²ÄÁÏ»¯¹¤µ÷¼Á +12 ½ñÏIJ»ÏÄ 2026-03-01 14/700 2026-03-02 16:09 by ½ñÏIJ»ÏÄ
[¿¼ÑÐ] һ־Ըɽ¶«´óѧ²ÄÁÏÓ뻯¹¤325Çóµ÷¼Á +3 °ë½ØµÄÊ«0927 2026-03-02 3/150 2026-03-02 12:58 by houyaoxu
[¿¼ÑÐ] 291 Çóµ÷¼Á +3 »¯¹¤2026½ì±ÏÒµÉ 2026-03-02 3/150 2026-03-02 12:55 by houyaoxu
[¿¼ÑÐ] 0805×Ü·Ö292£¬Çóµ÷¼Á +8 »ÃÏëÖ®éä 2026-03-01 8/400 2026-03-02 12:51 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] ²ÄÁÏѧ˶318Çóµ÷¼Á +14 February_Feb 2026-03-01 16/800 2026-03-02 11:17 by yuchj
[¿¼ÑÐ] ²ÄÁϹ¤³Ìר˶283Çóµ÷¼Á 5+4 £¬£¡£¿ 2026-03-02 6/300 2026-03-02 11:07 by ºÚ£¡ÔÚ¸ÉÂï
[¿¼ÑÐ] ¸ß·Ö×Ó»¯Ñ§ÓëÎïÀíµ÷¼Á +6 ºÃºÃºÃ1233 2026-02-28 13/650 2026-03-02 07:27 by ºÃºÃºÃ1233
[¿¼ÑÐ] 279Çóµ÷¼Á +3 dua1 2026-03-01 4/200 2026-03-02 00:23 by ´óÁ³µ°×Ó
[¿¼ÑÐ] 299Çóµ÷¼Á +3 YÄ«Ã÷ÆåÃîY 2026-02-28 5/250 2026-03-01 21:01 by tangxiaotian
[¿¼ÑÐ] 306·Ö²ÄÁϵ÷¼Á +4 chuanzhu´¨Öò 2026-03-01 5/250 2026-03-01 19:48 by Î޼ʵIJÝÔ­
[¿¼²©] 26É격 +4 ÏëÉ격£¡ 2026-02-26 6/300 2026-03-01 17:32 by ÏëÉ격£¡
[¿¼ÑÐ] 0856²ÄÁÏÇóµ÷¼Á +4 ÂéÀ±öÏÓã 2026-02-28 4/200 2026-03-01 16:51 by caszguilin
[»ù½ðÉêÇë] ¸Õ¼Óã¬Ã»ÓÐÆÚ¿¯ºÅ£¬µ«ÊÇÔÚÏ߿ɿ´µÄÂÛÎÄ¿ÉÒÔ·ÅΪ´ú±í×÷Âð 10+3 arang1 2026-03-01 3/150 2026-03-01 16:43 by babero
[¿¼ÑÐ] 311Çóµ÷¼Á +6 ͤͤͤ01 2026-03-01 6/300 2026-03-01 15:41 by 324616
[¿¼ÑÐ] 298Çóµ÷¼Á +9 È˼äΨÄãÊÇÇå»¶ 2026-02-28 12/600 2026-03-01 14:23 by Ducount.Y
[˶²©¼ÒÔ°] 2025½ìË«·Ç»¯¹¤Ë¶Ê¿±ÏÒµ£¬É격 +3 ¸ü¶àµÄÊÇ 2026-02-27 4/200 2026-03-01 10:04 by ztg729
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û