OllyDbg笔记-对标志寄存器中ZF的理解(逆向方面)
发布日期:2021-06-30 10:40:57
浏览次数:3
分类:技术文章
本文共 605 字,大约阅读时间需要 2 分钟。
这里主要是第6位的ZF。
zf (Zero Flag) 是零标志位,在第6位;它记录相关指令执行后,其结果是否为0,如果为0,那么zf = 1
;否则zf = 0
如下面的这个:
这里要介绍两条命令:
Jz=jump if zero (结果为0则设置ZF零标志为1,跳转)
Jnz=jump if not zeroZ这个标志位在程序判断的时候极为重要:
比如下面的代码:
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跳转
转载地址:https://it1995.blog.csdn.net/article/details/103413412 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月04日 20时49分14秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于C的α-β剪枝算法实现的AI五子棋游戏
2019-04-30
基于Python的Django和MySQL实现的合同管理系统
2019-04-30
基于python实现的电影推荐系统
2019-04-30
基于QT的网络五子棋游戏程序的设计与实现
2019-04-30
基于SOA的分布式水果商店系统
2019-04-30
基于SSH的易买网商城的设计与实现
2019-04-30
基于SSH的婴幼儿产品销售系统的开发与设计毕业设计论文
2019-04-30
基于智能手机的报纸阅读器-论文
2019-04-30
网上体育商城的设计与实现毕业设计论文
2019-04-30
基于springboot项目申报系统完整源码
2019-04-30
Docker知识一:相关安装和基础命令
2019-04-30
Docker知识二:容器的数据卷
2019-04-30
Docker知识三:应用部署
2019-04-30
Docker知识四:Dockerfile
2019-04-30
Docker知识五:服务编排(Docker Compose概念)
2019-04-30
Docker知识六:Docker Compose应用
2019-04-30
Docker知识七:私有仓库
2019-04-30
Docker知识八:docker容器虚拟化与传统虚拟机比较
2019-04-30
javaWeb项目学生选课系统完整源码附带数据库
2019-04-30
一个汉字转拼音的小工具
2019-04-30