²é¿´: 335  |  »Ø¸´: 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 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á£¬Çóµ¼Ê¦ÊÕ +7 ÌìÌìºÃÔËÀ´Éϰ¶° 2026-03-24 7/350 2026-03-24 20:26 by peike
[¿¼ÑÐ] 300·Ö£¬²ÄÁÏ£¬Çóµ÷¼Á£¬Ó¢Ò»Êý¶þ +4 ³¬ÔÞµÄ 2026-03-24 4/200 2026-03-24 20:01 by ÁËÁËÁËÁË¡£¡£
[¿¼ÑÐ] Ò»Ö¾Ô¸±±»¯315 Çóµ÷¼Á +3 akrrain 2026-03-24 3/150 2026-03-24 19:35 by ÁËÁËÁËÁË¡£¡£
[¿¼ÑÐ] ÊÕ08µ÷¼ÁÉú +6 komorebi69 2026-03-18 6/300 2026-03-24 19:09 by Íô£¡£¿£¡
[¿¼ÑÐ] 274Çóµ÷¼Á +5 ¹Ë¾ÅóÏҪǫÐé 2026-03-24 5/250 2026-03-24 18:43 by jhhcooi
[¿¼ÑÐ] Çóµ÷¼Á +6 ÑÐÑУ¬½Óµç»° 2026-03-24 7/350 2026-03-24 17:01 by barlinike
[¿¼ÑÐ] 293Çóµ÷¼Á +6 ¼ÓÒ»Ò»¾Å 2026-03-24 6/300 2026-03-24 14:29 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸¼ª´ó»¯Ñ§322Çóµ÷¼Á +4 17501029541 2026-03-23 6/300 2026-03-24 10:21 by ´÷Χ²±µÄСÎÃ×Ó
[ÂÛÎÄͶ¸å] ¼±·¢ºËÐÄÆÚ¿¯ÂÛÎÄ +3 ÏÍ´ïÎʽò 2026-03-23 5/250 2026-03-23 17:13 by ÃÃ×Ó²»ºÃÈÇ
[¿¼ÑÐ] 0854µç×ÓÐÅÏ¢Çóµ÷¼Á 324 +3 Promise-jyl 2026-03-23 3/150 2026-03-23 13:43 by wangkm
[¿¼ÑÐ] 317Çóµ÷¼Á +12 Éê×ÓÉêÉê 2026-03-19 18/900 2026-03-22 22:23 by luoyongfeng
[¿¼ÑÐ] Ò»Ö¾Ô¸ Î÷±±´óѧ £¬070300»¯Ñ§Ñ§Ë¶£¬×Ü·Ö287£¬Ë«·ÇÒ»±¾£¬Çóµ÷¼Á¡£ +3 ³¿»èÏßÓëÐǺ£ 2026-03-20 3/150 2026-03-22 16:00 by ColorlessPI
[¿¼ÑÐ] Ò»Ö¾Ô¸¶«»ª´óѧ¿ØÖÆÑ§Ë¶320Çóµ÷¼Á +3 Grand777 2026-03-21 3/150 2026-03-21 19:23 by ¼òÖ®-
[¿¼ÑÐ] Çóµ÷¼Á +3 13341 2026-03-20 3/150 2026-03-21 18:28 by ѧԱ8dgXkO
[¿¼ÑÐ] 324·Ö 085600²ÄÁÏ»¯¹¤Çóµ÷¼Á +4 llllkkkhh 2026-03-18 4/200 2026-03-21 01:24 by JourneyLucky
[¿¼ÑÐ] ÄϾ©´óѧ»¯Ñ§376Çóµ÷¼Á +3 hisfailed 2026-03-19 6/300 2026-03-20 23:43 by hisfailed
[¿¼ÑÐ] Ò»Ö¾Ô¸Öк£Ñó²ÄÁϹ¤³Ìר˶330·ÖÇóµ÷¼Á +8 С²Ä»¯±¾¿Æ 2026-03-18 8/400 2026-03-20 23:16 by JourneyLucky
[¿¼ÑÐ] 295²ÄÁÏÇóµ÷¼Á£¬Ò»Ö¾Ô¸Î人Àí¹¤085601ר˶ +5 Charlieyq 2026-03-19 5/250 2026-03-20 20:35 by JourneyLucky
[¿¼ÑÐ] Çóµ÷¼Á +3 eation27 2026-03-20 3/150 2026-03-20 19:32 by JourneyLucky
[¿¼ÑÐ] ¡¾Í¬¼ÃÈí¼þ¡¿Èí¼þ£¨085405£©¿¼ÑÐÇóµ÷¼Á +3 2026eternal 2026-03-18 3/150 2026-03-18 19:09 by ²«»÷518
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û