170405 汇编-嵌套循环练习,OD-界面介绍

1625-5 王子昂 总结《2017年4月5日》 【连续第186天总结】

A. 汇编语言 实验6

ollydbg 界面介绍

B. 汇编的实验题题为将给定数据段的每行的前4个字母改为大写

只要把思路理清了,做起来还是挺容易的

原理:大小写英文字母的ASCII码值相差64,即2^5,100000b。且小写字母均大于64,大写字母均小于64。因此只需要使用and操作即可将该位设置为0,来达到设置大写的目的。(使用add操作存在将本来是大写的字母改变的可能)

需要注意的地方

内外层循环的循环计数变量的转移,使用栈来暂存

dw为字,占2位;db为字节,占1位

在mov数据的时候由寄存器的大小来决定取出内存中多大的数据,因此在操作字节型值的时候注意寄存器的选择(ax还是al/ah)

内存中的第一个单位为0,最后一个单位为15(即F)

附上代码:

assume cs:codesg,ss:stacksg,ds:datasg


stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends


datasg segment
db '1. display      '
db '2. brows        '
db '3. replace      '
db '4. modify       '
datasg ends


codesg segment
 start: mov ax,datasg
mov ds,ax

mov ax,stacksg
mov ss,ax
mov sp,10h


mov bx,0
mov cx,4
 myout: mov si,3
push cx
mov cx,4
 myin: mov al,[bx][si]
and al,11011111b
mov [bx][si],al
inc si
loop myin
add bx,16
pop cx
loop myout


mov ax,4c00H
int 21H
codesg ends
end start


    动态分析技术中最重要的工具是调试器,分为用户模式和内核模式两种。前者运行在Ring 3级,如OD,VC++等编译器自带的调试器。后者则是指能调试操作系统内核的调试器,运行在Ring 0级,处于CPU和操作系统之间,如SoftICE等。

Olly Dbg默认的当前窗口是CPU窗口,它是OD中最重要的窗口。包括反汇编面板、寄存器面板、信息面板、数据面板和堆栈面板5个面板窗口。

各窗口的外观属性,如标题栏、字体等在右键菜单Appearance(界面选项里控制

1.反汇编面板窗口

此窗口显示被调试程序的代码。有4个列:地址、机器码、反汇编代码和注释。最后一列注释栏显示相关API参数或运行简表,非常有用。

在反汇编面板窗口的列中,双击默认完成以下动作:

地址:显示相对被单机地址的地址,再次双击返回到标准地址模式

机器码:设置或取消无条件断点,对应的快捷键是F12

反汇编代码:调用汇编器,可直接修改汇编代码

注释:允许增加或编辑注释,对应的快捷键是';'

要从键盘上选择多行,按下Shift和上下光标箭头或PgUP/PgDn,也可利用右键菜单命令。按Ctrl并按上下光标键,一行一行地滚动汇编窗口,(当数据与代码混合时,此功能非常有用)

2.信息面板窗口

动态跟踪时,显示与指令相关的各寄存器值、API函数调用提示和跳转提示灯信息

3.数据面板窗口

以十六进制和字符方式显示文件在内存中的数据。要显示数据,可单击鼠标右键“Go to expression”命令或按Ctrl+G键打开地址窗口,输入地址

4.寄存器面板窗口

显示CPU各寄存器的值,支持浮点、MMX和3DNow!寄存器,可以单击鼠标右键切换或单击窗口标题切换显示寄存器的方式

5.堆栈面板窗口

显示了堆栈的内容,即ESP寄存器指向地址的内容。堆栈窗口非常重要,各API函数和子程序等都利用它传递参数和变量等

C. 明日计划

汇编第八章

OD设置、加载


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值