| ²é¿´: 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 ] |
» ²ÂÄãϲ»¶
¿¼Ñи´ÊÔµ÷¼Á£¬¹ý¹ú¼ÒÏßµÄͬѧ¶¼¿É±¨Ãû
ÒѾÓÐ5È˻ظ´
085600 Ó¢Ò»Êý¶þ272Çóµ÷¼Á
ÒѾÓÐ13È˻ظ´
Àíѧ£¬¹¤Ñ§£¬Å©Ñ§µ÷¼Á£¬ÉÙ×ßÍä·£¬ÕâÀï»¶ÓÄú£¡
ÒѾÓÐ5È˻ظ´
½ÓÊÕµ÷¼Á
ÒѾÓÐ7È˻ظ´
Ò»Ö¾Ô¸»ªÄÏÀí¹¤´óѧ²ÄÁÏÓ뻯¹¤326·Ö£¬Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
290Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
Ç廪´óѧ ²ÄÁÏÓ뻯¹¤ 353·ÖÇóµ÷¼Á
ÒѾÓÐ4È˻ظ´
²ÄÁÏ284Çóµ÷¼Á£¬Ò»Ö¾Ô¸Ö£ÖÝ´óѧӢһÊý¶þר˶
ÒѾÓÐ12È˻ظ´
»¯Ñ§£¬²ÄÁÏ£¬»·¾³ÀàÇóµ÷¼Á
ÒѾÓÐ3È˻ظ´
²ÄÁÏ»¯¹¤µ÷¼Á
ÒѾÓÐ14È˻ظ´
2Â¥2006-02-28 20:55:49
1
![]() |
3Â¥2006-03-04 14:45:23
1
![]() ![]() ![]() |
4Â¥2006-03-06 12:25:39













;
»Ø¸´´ËÂ¥




5