哈尔滨工程大学实验的报告.docVIP

  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文档。上传文档
查看更多
哈尔滨工程大学实验的报告

实 验 报 告 课程名称 保密技术实验 实验项目名称 实验一:软硬件实验环境配置实验 实验类型 验证性实验 实验学时 2 班级学号 2011212131 姓名 祝星星 指导教师 冯光升 实验室名称 网络与信息安全实验室(21B#174) 实验时间 5.22 实验成绩 预习部分 实验过程 表现 实验报告 部分 总成绩 教师签字 日期 5.22 哈尔滨工程大学教务处 制 实验一:软硬件实验环境配置实验 实验目的 本次实验主要是要求信息安全专业学生熟悉常用的保密泄密分析软件,及其环境配置等工作。本次课通过破解二进制文件使学生掌握常用的代码分析工具,从而为以后进行造成泄密的系统漏洞进行分析研究奠定工具基础。 实验环境(实验所使用的器件、仪器设备名称及规格) 装有Windows XP sp2 的操作系统,有Visual C++6.0 编译环境,另外需要安装IDA, OllyDbg, LordPE、UltraEdit 等软件。 实验任务及其要求 本实验就是破解二进制文件,使学生掌握常用的代码分析工具,从而为以后进行造成泄 密的系统漏洞进行分析研究奠定工具基础。 实验过程及分析 在 VC6.0下运行附录中所给的C源程序。我们可以发现只有输入正确的密码1234567才能得到密码验证的确认,不管密码输入正确与否,能否跳出循环直接取决于main函数中的If 判断 2)打开 IDA,把由VC6.0 得到的.exe 文件直接拖进IDA,稍等片刻,IDA 就会把二进制文件翻译成质量上乘的反汇编代码,默认情况下,IDA会自动识别出main函数,并用类似流程图的形式标注出函数内部的跳转指令,如果按F12,IDA会自动绘制出更加专业和详细的函数流程图。 3)在 IDA 的图形显示界面中,用鼠标选中程序分支点,也就是我们要找的对应于C 代码 中的if 分支点,按空格键切换到汇编指令界面,光标仍然显示高亮的这条汇编指令就是刚才在流程图中看到的引起程序分支的指令。可以看到这条指令位于PE文件的.text 节,并且IDA 已经自动将该指令的地址换算成了运行时的内存地址VA:0x004010C9。 选在关闭 IDA,换用OllyDbg进行动态调试来看看程序到底是怎样分支的。用OllyDbg把PE文件打开。 5)找到 main 函数调用后,按F7 单步跟入就可以看到真正的代码了,我们也可以按快捷 键Ctrl+G直接跳到有IDA得到的VA:0x004010C9处查看那条引起程序分支的关键指令。 6)选中该指令,按F2下断点,成功后,指令的地址会被标记成不同颜色,按F9 让程序运 行起来,这时候控制权会回到程序,OllyDbg 暂时挂起。到程序提示输入密码的Console界面随便输入一个错误的密码,回车确认后,OllyDbg 会重新中断程序,取回控制权。 7) 密码验证函数的返回值将在 EAX 寄存器中,if()语句通过 TEST EAX,EAX JE XXXXX 两条指令实现。如果我们把JE 这条指令的机器代码修改成JNE(非0 则跳转),那么整个程序的逻辑就会反过来:输入错误的密码会被确认,输入正确的密码反而要求重新输入!也可以用另外一种方法:把TEST EAX,EAX 指令修改成XOR EAX,EAX 也能改变程序流程,此时不论正确与否,密码都将接受。 双击 JE 这条指令,将其修改成JNE,单击Assemble按钮将其写入内存。 9) OllyDbg 将会变指令翻译成机器代码后写入内存,原来内存中的机器代码74(JE)现在变成了75(JNE)。而以上只是在内存中修改程序,我们还需要在二进制文件中也修改相应的字节,这需要用到内存地址VA 与文件地址之间的对应关系。用LordPE 打开.exe文件,查看PE文件的节信息。 11)跳转指令在内存中的地址是VA=0x0040106E 按照VA与文件地址的换算公式: 文件偏移地址=虚拟内存地址(VA)-装载基址(Image Base)-节偏移 =0x0040106E-0(00 =0x106E 也就是说这条指令在PE 文件中位于距离文件开始处106E 字节的地方。 12)用UltraEdit 按照二进制方式打开crack_me.exe 文件,按快捷键Ctrl+C,输入0x106E 直 接跳到JE 指令的机器代码处,将这一个字节的74(JE)修改成75(JNE),保存后重新运行可执行文件,原本正确的密码1234567现在反而提示错误了。 实验结果总结 思考题:现在主

文档评论(0)

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

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

1亿VIP精品文档

相关文档