前言
- 上篇(初次见面,请多指教)文章讲解了OD工具的简单介绍,介绍了OD的窗口以及一些快捷键的使用,接下来就是练练手咯,这次让我们简单在OD里写一写汇编指令,观察一下寄存器的变化
拿些指令练练手
- mov指令
- add指令
- sub指令
- jmp指令
- 剩下的往后再慢慢学吧
mov指令(以EAX,ECX,EDX,EBX为例)
打开OD,随意打开一个文件,在没有开始书写前,观察寄存器窗口中各个寄存器的值
寄存器的值:
- EAX:0019FFCC
- ECX:0040144E
- EDX:0040144E
- EBX:003D5000
主窗口输入汇编指令,f8单步步过:
执行完后寄存器的值:
add指令(以EAX,EBX为例)
- 经过上述步骤,现在EAX中保存的值为1,EBX中保存的值为4,使用add eax,ebx后,eax的值将位1+4=5,ebx不变
- 输入add指令,f8单步步过:
执行完后寄存器eax,ebx的值:
sub指令(以EDX,ECX为例)
- 执行指令前ECX的值为2,EDX的值为3,执行汇编指令sub edx,ecx后,edx的值为1,ecx不变
输入汇编指令sub edx,ecx,f8单步步过:
执行完后寄存器ecx,edx的值:
jmp(无条件跳转语句,利用它改变EIP的值)
- 执行指令jmp 0040144E之前,观察EIP的值为00401466
输入指令jmp 0040144E:
执行完成后寄存器EIP的值:
- EIP的值跳转回到0040144E