如何解读OllyDbg中的EFL?

时间:2013-06-22 19:44:30

标签: debugging assembly ollydbg

使用OllyDbg解释寄存器下的EFL是什么以及怎么解释?

什么是NONBENEBEANS,{{1 }},POGE,...

示例:

G

我徒劳无功的解读:

EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE) 

操作:

00000246 => 0000 ... 0010 0100 0110
NO   NB   E    BE   NS   PE   GE   LE
 0    0   0     0    0    1    1    1 <- I do not know if this is correct. 
                                         (Likely not.)

结果:

AND ESI,7FFFFFFF

我的ASCII,(灵感by):

EFL 00000202 (NO,NB,NE,A,NS,PO,GE,G)

帮助有如下说法:

  

以下EFL是满足条件命令的后缀   目前的旗帜。例如,如果您看到:

     

EFL 00000A86(O,NB,NE,A,S,PE,GE,G),

     

这意味着将采用JO和JNE而JB和JPO不会。


我怀疑CPU FlagsFLAGS register等,但无法识别,例如其中任何一个 _---------------------------=> E -> NE / _----------------------=> BE -> A | / _------------=> PE -> PO | | / _--=> LE -> G | | | / | | | | NO NB NE A NS PO GE G 0000 0000 0000 0000 0000 0010 0100 0110 0 0 0 0 0 1 1 1

1 个答案:

答案 0 :(得分:1)

EFLFLAGS寄存器(扩展为包含EFLAGS),用于指示奇偶校验,溢出/进位,方向和分支流以及各种CPU模式。

Olly略微扩展寄存器,将公共控制状态位分离出EOL(名为'C P A Z S T D O'的奇异位)。

EFL值旁边的括号中的缩写与当前EFLAGS下可以/不能传递的相关,即:NO代表No-Overflow,切换OF位会将其切换为O以进行溢出。