OllyDbg笔记-对标志寄存器中ZF的理解(逆向方面)
生活随笔
收集整理的这篇文章主要介绍了
OllyDbg笔记-对标志寄存器中ZF的理解(逆向方面)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
这里主要是第6位的ZF。
zf (Zero Flag) 是零标志位,在第6位;它记录相关指令执行后,其结果是否为0,如果为0,那么zf = 1;否则zf = 0
如下面的这个:
这里要介绍两条命令:
Jz=jump if zero (结果为0则设置ZF零标志为1,跳转)
Jnz=jump if not zero
Z这个标志位在程序判断的时候极为重要:
比如下面的代码:
void Widget::btnClicked() {QString passwd = ui->lineEdit->text();if(isOK(passwd)){QMessageBox::information(this, "提示", "成功");}else{QMessageBox::information(this, "提示", "失败");} }bool Widget::isOK(QString str) {if(str == "www.it1995.cn")return true;return false; }这里就是根据其JZ,进行跳转。
最后一个知识点是TEST
Test的一个非常普遍的用法是用来测试一方寄存器是否为空:
test ecx, ecx
jz somewhere
如果ecx为零,设置ZF零标志为1,Jz跳转
总结
以上是生活随笔为你收集整理的OllyDbg笔记-对标志寄存器中ZF的理解(逆向方面)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Windows核心思想-宽字符与窄字符(
- 下一篇: Qt文档阅读笔记-Qt Quick Co