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