| ²é¿´: 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 ] |
» ²ÂÄãϲ»¶
08¹¤Ñ§µ÷¼Á
ÒѾÓÐ16È˻ظ´
0703»¯Ñ§µ÷¼Á£¬Çóµ¼Ê¦ÊÕ
ÒѾÓÐ7È˻ظ´
0854AI CV·½ÏòÕÐÊÕµ÷¼Á
ÒѾÓÐ3È˻ظ´
Çóµ÷¼Á323²ÄÁÏÓ뻯¹¤
ÒѾÓÐ3È˻ظ´
ÉúÎïѧѧ˶Çóµ÷¼Á
ÒѾÓÐ9È˻ظ´
289Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
07»¯Ñ§280·ÖÇóµ÷¼Á
ÒѾÓÐ5È˻ظ´
300·Ö£¬²ÄÁÏ£¬Çóµ÷¼Á£¬Ó¢Ò»Êý¶þ
ÒѾÓÐ4È˻ظ´
¡¾¿¼Ñе÷¼Á¡¿»¯Ñ§×¨Òµ 281·Ö£¬Ò»Ö¾Ô¸ËÄ´¨´óѧ£¬³ÏÐÄÇóµ÷¼Á
ÒѾÓÐ16È˻ظ´
0854µç×ÓÐÅÏ¢Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
2Â¥2006-02-28 20:55:49
1
![]() |
3Â¥2006-03-04 14:45:23
1
![]() ![]() ![]() |
4Â¥2006-03-06 12:25:39













;
»Ø¸´´ËÂ¥



