一、实验目的
通过实验进一步熟悉调试器与汇编代码,加深对汇编代码和调试技术的认识。
二、实验软硬件要求
软件工具:OllyDbg
操作系统:windows 7
三、实验预习
逆向工程教材第6章
四、实验内容(实验步骤、测试数据等)
Ⅰ、基础练习
打开示例程序 01\06\bin\abex crackme#1.exe程序,该程序内部有两个选择显示的消息框,原本是显示其中第一个消息框,修改程序执行逻辑,使程序显示第二个消息框。
Ⅱ、扩展练习
打开wsample01a.exe程序
1、分析程序逻辑
运行程序显示“Hello!Windows”消息框,程序在什么情况下会显示另一个消息框(称为“2号消息框”),该消息框的内容是什么?
2、给程序打上如下补丁,并分别保存:
(1)使程序固定显示“2号消息框”,无需输入特定参数
(2)更改“2号消息框”的显示条件为:输入参数“2023”,消息内容也更改为:Hello!2023
本次实验需提交的内容:
1、修改后的exe程序
2、实验报告。
五、实验过程
Ⅰ、基础练习
打开示例程序 01\06\bin\abex crackme#1.exe程序,该程序内部有两个选择显示的消息框,原本是显示其中第一个消息框,修改程序执行逻辑,使程序显示第二个消息框。
1.将401026光标处的汇编指令JE SHORT 0040103D更改为JMP SHORT 0040103D,即将条件分支语句(JE)替换为无条件跳转语句(JMP)
2.选中修改后的指令,右键-Copy to exectable-Selection
3.在弹出的Hex窗口右键选择Save file 菜单保存
3.运行保存的文件,得到目标结果
Ⅱ、扩展练习
打开wsample01a.exe程序
1、分析程序逻辑
运行程序显示“Hello!Windows”消息框,程序在什么情况下会显示另一个消息框(称为“2号消息框”),该消息框的内容是什么?
该消息框的内容是“Hello!2012”
1.打开程序后得到,另一文本内容是“Hello!2012”
2.也可以右键搜索所有引用的文本字符串,得到结果
2、给程序打上如下补丁,并分别保存:
(1)使程序固定显示“2号消息框”,无需输入特定参数
1.根据代码分析,可将”JNZ SHORT 00401035”中的JNZ 改为JZ或者JE
2.修改后
3.保存
4.验证,得到目标结果
(2)更改“2号消息框”的显示条件为:输入参数“2023”,消息内容也更改为:Hello!2023
1.打开(1)中修改保存的文件,选中数据窗口,按CTRL+G键,输入参数“2012”所在的目标地址402104
2.找到参数“2012”所在的十六进制,按CTRL+E键,修改参数“2012”为“2023”,同样,修改消息内容“Hello!2012”为“Hello!2023”
3.修改后为
4.保存修改后的文件,运行得到修改后的消息内容
选中更改后的所有字符串—右键点击”Copy to executable”—在弹出的Hex窗口右键选择”Save file”—修改文件名保存,然后运行保存的文件验
标签:程序,abex,修改,crackme,消息,2023,Hello,OllyDbg,2012 From: https://blog.csdn.net/m0_69407979/article/details/137235786