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