软件安全第七次实验报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件安全第七次实验报告

软件安全第七次实验报告班级:2010211316 学号 姓名:曹梦晨1、目标学习和掌握计算机木马信息窃取及自启动关键技术调试目标代码,执行记录回放等(菜单中function-record,stop,replay)功能,并找到记录键盘和鼠标操作的关键代码进行调试,理解其原理。结合上课讲过的自启动技术,在2000虚拟机中使上一步中调试的目标程序在系统重启后自动启动,要求至少通过实现3种方式实现。作业要求:详述调试及追踪过程实验结果需要截图证明思考题通过映射劫持、文件关联方式,使目标程序通过其他程序或关联关系启动。2、测试步骤与结果2.1 调试学习目标代码Step1:使用VC6打开replayView工程:图2-1打开replayView工程这里可以看到,replayView工程是一个基于单文本的MFC工程,尝试使用该程序录制键盘、鼠标信息:图2-2 测试replay程序通过先执行record,然后执行stop,最后执行replay,可以记录之间的鼠标信息和键盘信息,并在执行replay后重放。Step2:调试并分析replay程序核心代码:在调试之前现初步查看程序结构,发现核心代码在五个函数中: void CReplayView::OnFunctionStart(),这个函数响应单击菜单栏start消息,用于加载消息钩子,核心代码为:recHook=SetWindowsHookEx(WH_JOURNALRECORD,(HOOKPROC)RecHook,(HINSTANCE)AfxGetApp()-m_hInstance,0); void CReplayView::OnFunctionStop(),这个函数响应单击菜单栏stop消息,用于卸载消息钩子,核心代码为:UnhookWindowsHookEx(recHook); void CReplayView::OnFunctionReplay(),这个函数响应单击菜单栏stop消息,用于卸载消息钩子,核心代码为:playHook=SetWindowsHookEx(WH_JOURNALPLAYBACK,(HOOKPROC)PlayHook,(HINSTANCE)AfxGetApp()-m_hInstance,0); LRESULT CALLBACK RecHook(int code,WPARAM wParam,LPARAM lParam),这个函数是一个回调函数,用于将消息记录到数组中,以备提取,核心代码如下:if(code0)return CallNextHookEx(recHook,code,wParam,lParam);else if(code==HC_SYSMODALON)recOK=0;else if(code==HC_SYSMODALOFF)recOK=1;else if(recOK (code==HC_ACTION)){EventArray[recordedEvent]= *((PEVENTMSG)lParam);recordedEvent++;if(recordedEvent==1000){UnhookWindowsHookEx(recHook);}//消息上限达到1000时,自动卸载钩子} LRESULT CALLBACK PlayHook(int code,WPARAM wParam,LPARAM lParam),这个函数也是一个回调函数,用于将消息从数组中提取,并恢复消息,核心代码如下:if(code0)return CallNextHookEx(playHook,code,wParam,lParam);else if(code==HC_SYSMODALON)playOK=0;else if(code==HC_SYSMODALOFF){playOK=1;}else if(playOK (code==HC_GETNEXT)){if(fDelay){fDelay=FALSE;return 50;}*((PEVENTMSG)lParam)=EventArray[playedEvent];}else if(playOK (code==HC_SKIP)){fDelay=TRUE;playedEvent++;}if(playedEvent=recordedEvent){UnhookWindowsHookEx(playHook);}2.2设置开机自启动方法一:修改注册表启动项通过将开机自启动的程序添加到:SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\或者SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce\\中,来确保其开机

文档评论(0)

haocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档