OllyDbg笔记-对标志寄存器中ZF的理解(逆向方面)
生活随笔
收集整理的這篇文章主要介紹了
OllyDbg笔记-对标志寄存器中ZF的理解(逆向方面)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
這里主要是第6位的ZF。
zf (Zero Flag) 是零標志位,在第6位;它記錄相關(guān)指令執(zhí)行后,其結(jié)果是否為0,如果為0,那么zf = 1;否則zf = 0
如下面的這個:
這里要介紹兩條命令:
Jz=jump?if zero (結(jié)果為0則設置ZF零標志為1,跳轉(zhuǎn))
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; }這里就是根據(jù)其JZ,進行跳轉(zhuǎn)。
最后一個知識點是TEST
Test的一個非常普遍的用法是用來測試一方寄存器是否為空:
test ecx, ecx?
jz somewhere
如果ecx為零,設置ZF零標志為1,Jz跳轉(zhuǎn)
?
總結(jié)
以上是生活随笔為你收集整理的OllyDbg笔记-对标志寄存器中ZF的理解(逆向方面)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows核心思想-宽字符与窄字符(
- 下一篇: Spring Boot中Thymelea