《(2020年){安全生产管理}计算机网络安全技术实验》由会员分享,可在线阅读,更多相关《(2020年){安全生产管理}计算机网络安全技术实验(23页珍藏版)》请在金锄头文库上搜索。
1、安全生产管理计算机网络安全技术实验计算机网络安全技术实验n 案例名称:操作注册表n 程序名称:#includen #includen main()n n HKEYhKey1;n DWORDdwDisposition;n LONGlRetCode;n /创建n lRetCode=RegCreateKeyEx(HKEY_LOCAL_MACHINE,n SOFTWAREMicrosoftWindowsNTCurrentVersionIniFileMappingWebSecurity,n 0,NULL,REG_OPTION_NON_VOLATILE,KEY_WRITE,n NULL,&hKey1,&d
2、wDisposition);n /如果创建失败,显示出错信息n if(lRetCode!=ERROR_SUCCESS)n printf(ErrorincreatingWebSecuritykeyn);n return(0);n n /设置第一个键值n lRetCode=RegSetValueEx(hKey1,n Hack_Name,n 0,n REG_SZ,n (byte*)sixage,n 100);n /设置第二个键值n lRetCode=RegSetValueEx(hKey1,n Hack_Hobby,n 0,n REG_SZ,n (byte*)Running,n 100);n /如果创
3、建失败,显示出错信息n if(lRetCode!=ERROR_SUCCESS)n printf(ErrorinsettingSection1valuen);n return(0);n n printf(注册表编写成功!n);n return(0);n n 案例名称:判断是否中了“冰河”n 程序名称:proj3_13.cppn #includen #includen main()n n HKEYhKEY;n LPCTSTRdata_Set=txtfileshellopenmand;n longret0=(RegOpenKeyEx(HKEY_CLASSES_ROOT,n data_Set,0,KE
4、Y_READ,&hKEY);n if(ret0!=ERROR_SUCCESS)/如果无法打开hKEY,则终止程序的执行n n return0;n n /查询有关的数据n LPBYTEowner_Get=newBYTE80;n DWORDtype_1=REG_EXPAND_SZ;n DWORDcbData_1=80;n longret1=RegQueryValueEx(hKEY,NULL,NULL,n &type_1,owner_Get,&cbData_1);n if(ret1!=ERROR_SUCCESS)n n return0;n n if(strcmp(constchar*)owner_G
5、et,%systemroot%system32%1)=0)n n printf(没有中冰河);n n elsen n printf(可能中了冰河);n n printf(n);n 编译运行会有下面结果然后在注册表中HKEY_CLASSES_ROOT主键下的“txtfileshellopenmand”将值改为其他的,然后再运行。会有下面结果。n 案例名称:更改系统登录用户n 程序名称:proj3_14.cppn #includen #includen main()n n HKEYhKey1;n LONGlRetCode;n lRetCode=RegOpenKeyEx(HKEY_LOCAL_MAC
6、HINE,n SOFTWAREMicrosoftWindowsNTCurrentVersionWinlogon,n 0,KEY_WRITE,n &hKey1n );n if(lRetCode!=ERROR_SUCCESS)n printf(Errorincreatingkeyn);n return(0);n n lRetCode=RegSetValueEx(hKey1,n DefaultUserName,n 0,n REG_SZ,n (byte*)Hacker_sixage,n 20);n if(lRetCode!=ERROR_SUCCESS)n printf(ErrorinsettingSe
7、ction1valuen);n return(0);n n printf(已经将登录名该成Hacker_sixage);n return(0);n n 文件系统编程非常的重要,可以在DOS命令行下执行的操作都可以使用程序实现。n 在DOS命令行下使用命令“netuserHacker/add”添加一个用户,同样可以在程序中实现,如程序proj3_15.cpp所示。n 案例名称:添加系统用户n 程序名称:proj3_15.cppn #includen #includen main()n n char*szCMD=netuserHacker/add;n BOOLbSuccess;n PROCESS_
8、INFORMATIONpiProcInfo;n STARTUPINFOInfo;n =sizeof(STARTUPINFO);n =NULL;n =NULL;n =NULL;n 2=0;n 2=NULL;n bSuccess=CreateProcess(NULL,szCMD,NULL,NULL,false,NULL,NULL,NULL,&Info,&piProcInfo);n if(!bSuccess)n printf(创建进程失败!);n return1;n n 案例名称:系统时间n 程序名称:proj3_17.cppn #includen #includen main()n n SYSTE
9、MTIMEsysTime;n GetLocalTime(&sysTime);n printf(%d年%d月%d日%d时%d分%d秒n,n ,n ,);n return1;n n 案例名称:定时器编程n 程序名称:proj3_18.cppn #includen WNDCLASSwc;n HWNDh_wnd;n MSGmsg;n /*消息处理函数wndProc的声明*/n longWINAPIWindowProc(HWND,UINT,WPARAM,LPARAM);n /*winMain函数的声明*/n intPASCALWinMain(HINSTANCEh_CurInstance,n HINSTA
10、NCEh_PrevInstance,LPSTRp_CmdLine,intm_Show)n n /*初始化wndclass结构变量*/n =WindowProc;n =h_CurInstance;n =(HBRUSH)GetStockObject(WHITE_BRUSH);n =TheMainClass;n /*注册WndClass结构变量*/n RegisterClass(&wc);n /*创建窗口*/n h_wnd=CreateWindow(TheMainClass,OurfirstWindow,n WS_OVERLAPPEDWINDOW,0,0,400,500,0,0,h_CurInsta
11、nce,0);n /*显示窗口*/n ShowWindow(h_wnd,SW_SHOWMAXIMIZED);n /*消息循环*/n while(GetMessage(&msg,NULL,0,0)n DispatchMessage(&msg);n return();n n #defineID_TIMER1n /*定义消息处理函数*/n longWINAPIWindowProc(HWNDh_wnd,UINTWinMsg,n WPARAMw_param,LPARAMl_param)n n staticBOOLfFlipFlop=FALSE;n HBRUSHhBrush;n HDChdc;n PAIN
12、TSTRUCTps;n RECTrc;n switch(WinMsg)n n caseWM_CREATE:n SetTimer(h_wnd,ID_TIMER,1000,NULL);n return0;n caseWM_TIMER:n MessageBeep(-1);n fFlipFlop=!fFlipFlop;n InvalidateRect(h_wnd,NULL,FALSE);n return0;n caseWM_PAINT:n hdc=BeginPaint(h_wnd,&ps);n GetClientRect(h_wnd,&rc);n hBrush=CreateSolidBrush(fFl
13、ipFlop?RGB(255,0,0):RGB(0,0,255);n FillRect(hdc,&rc,hBrush);n EndPaint(h_wnd,&ps);n DeleteObject(hBrush);n return0;n caseWM_DESTROY:n KillTimer(h_wnd,ID_TIMER);n PostQuitMessage(0);n return0;n n returnDefWindowProc(h_wnd,WinMsg,w_param,l_param);n 案例名称:内存驻留程序的编写n 程序名称:proj3_19.cppn #includen WNDCLASS
14、wc;n HWNDh_wnd;n MSGmsg;n /*消息处理函数wndProc的声明*/n longWINAPIWindowProc(HWND,UINT,WPARAM,LPARAM);n /*winMain函数的声明*/n intPASCALWinMain(HINSTANCEh_CurInstance,n HINSTANCEh_PrevInstance,LPSTRp_CmdLine,intm_Show)n n /*初始化wndclass结构变量*/n =WindowProc;n =h_CurInstance;n =(HBRUSH)GetStockObject(WHITE_BRUSH);n =TheMainClass;n /*注册WndClass结构变量*/n RegisterClass(&wc);n /*创建窗口*/n h_