²é¿´: 332  |  »Ø¸´: 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 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 292Çóµ÷¼Á +4 ¶ì¶ì¶ì¶î¶î¶î¶î¶ 2026-03-24 4/200 2026-03-24 16:41 by peike
[¿¼ÑÐ] 291Çóµ÷¼Á +3 HanBeiNingZC 2026-03-24 3/150 2026-03-24 16:34 by barlinike
[¿¼ÑÐ] Ò»Ö¾Ô¸211 ³õÊÔ270·Ö Çóµ÷¼Á +5 ¹ÈÓêÉϰ¶ 2026-03-23 6/300 2026-03-24 16:32 by laoshidan
[¿¼ÑÐ] 085602 289·ÖÇóµ÷¼Á +4 WWWÎ÷Î÷¸¥Ë¹ 2026-03-24 4/200 2026-03-24 16:13 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] 0856²ÄÁÏר˶353Çóµ÷¼Á +5 NIFFFfff 2026-03-20 5/250 2026-03-24 11:46 by 544594351
[¿¼ÑÐ] Ò»Ö¾Ô¸ÉÂʦ´óÉúÎïѧ071000£¬298·Ö£¬Çóµ÷¼Á +3 SYA£¡ 2026-03-23 3/150 2026-03-23 19:09 by macy2011
[¿¼ÑÐ] 316Çóµ÷¼Á +7 ÁºÜçö© 2026-03-19 7/350 2026-03-23 16:21 by lingjue
[¿¼ÑÐ] 350Çóµ÷¼Á +6 weudhdk 2026-03-19 6/300 2026-03-23 15:47 by tangyuan0840221
[¿¼ÑÐ] ½ÓÊÕ2026˶ʿµ÷¼Á(ѧ˶+ר˶) +4 allen-yin 2026-03-23 6/300 2026-03-23 15:04 by Íô£¡£¿£¡
[¿¼ÑÐ] 070300£¬Ò»Ö¾Ô¸±±º½320Çóµ÷¼Á +3 Jerry0216 2026-03-22 5/250 2026-03-23 09:16 by ¡£¡£ÌÃÌÃ
[¿¼ÑÐ] 276Çóµ÷¼Á +3 YNRYG 2026-03-21 4/200 2026-03-23 08:31 by ×íÔÚ·çÀï
[¿¼ÑÐ] 323Çóµ÷¼Á +6 ÍÝСͰ 2026-03-18 6/300 2026-03-23 00:29 by king123£¡
[¿¼ÑÐ] 286·ÖÈ˹¤ÖÇÄÜרҵÇëÇóµ÷¼ÁÔ¸Òâ¿ç¿¼£¡ +4 lemonzzn 2026-03-17 8/400 2026-03-21 22:49 by lemonzzn
[¿¼ÑÐ] ¹ãÎ÷´óѧ²ÄÁϵ¼Ê¦ÍƼö +3 ÏÄÏÄÏÄСÕý 2026-03-17 5/250 2026-03-21 22:20 by ½ðê»ML
[¿¼ÑÐ] Ò»Ö¾Ô¸ÄÏ´ó£¬0703»¯Ñ§£¬·ÖÊý336£¬Çóµ÷¼Á +3 ÊÕµ½VS 2026-03-21 3/150 2026-03-21 18:42 by ѧԱ8dgXkO
[¿¼ÑÐ] ÇóÖú +5 ÃÎÀïµÄÎÞÑÔ 2026-03-21 6/300 2026-03-21 17:51 by ѧԱ8dgXkO
[¿¼ÑÐ] Ò»Ö¾Ô¸ÎäÀí²ÄÁÏ305·ÖÇóµ÷¼Á +6 ÏëÉϰ¶µÄÀðÓã 2026-03-18 7/350 2026-03-21 01:03 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÄÏʦ´ó 070300£¨»¯Ñ§£©304·ÖÇóµ÷¼Á +3 0703ÎäÜ·»ÛÑ©304 2026-03-18 3/150 2026-03-21 00:48 by JourneyLucky
[¿¼ÑÐ] 317Çóµ÷¼Á +5 Éê×ÓÉêÉê 2026-03-19 9/450 2026-03-20 22:26 by JourneyLucky
[¿¼ÑÐ] 261ÇóBÇøµ÷¼Á£¬¿ÆÑо­Àú·á¸» +3 Å£Ä̺Üæ 2026-03-20 4/200 2026-03-20 19:34 by JourneyLucky
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û