一、实验目的
通过实验进一步掌握OllyDbg软件的使用,通过OllyDbg软件调试程序,并将原程序的提示消息进行修改。
二、实验软硬件要求
软件工具:OllyDbg
操作系统:windows 7
三、实验预习
教材第2章
四、实验内容(实验步骤、测试数据等)
打开示例程序 01\11\bin\Tut.ReverseMe1.exe,
原本点击Register me!按钮提示Sorry!Wrong registration code!
尝试用书本介绍的两种方法修改这个提示消息,消息内容自定。
(第2种方式不成功没关系,如实报告实验情况即可)
提交的内容:
1、修改后的exe程序
2、实验报告。
五、实验过程
(1)直接修改字符串缓冲区(buffer)
1、使用OllyDbg调试工具打开示例程序 01\11\bin\Tut.ReverseMe1.exe,使用字符串检索法找到按钮提示Sorry ! Wrong registration code !
鼠标右键菜单—Search for—All referenced text strings
2、直接修改字符串缓冲区,上图中可以找到目标字符串参数Sorry!Wrong registration code!”保存在地址401E70处的一段缓冲区中,在数据窗口的dump窗口修改。
Ctrl+G—输入401E70—选中目标地址处的字符串—Ctrl+E—修改UNICODE为”Sorry ! Wrong Wrong Wrong code !”
3、按F9运行后得到如下图,修改提示消息成功
4、保存修改后的文件,运行得到修改后的提示消息
选中更改后的字符串—点击”Copy to executable”—在弹出的Hex窗口右键选择”Save file”—修改文件名保存
(2)在其他内存区域生成新字符串并传递给消息函数
1、与(1)的第一步相同
2、使用Ctrl+G找到目标字符串参数”Sorry ! Wrong registration code !”,拖动滑动条,找到未使用的NULL填充区域
3、在结尾部分适当位置(如403F50)编辑,写入新的字符串(此操作无法更改消息中的字符串)
Ctrl+E—在UNICODE输入”Sorry ! Wrong Wrong code!”—ok
4、把新缓冲区地址(403F50)作为新字符串(Sorry ! Wrong Wrong code!)的首地址
光标置于402A69处—按空格键或者右键点击Assemble打开Assemble窗口—修改401E70为403F50—点击Assemble(只能点一下)—关闭文本框