逆向工程 - AND 0FF

时间:2014-01-17 20:36:25

标签: debugging reverse ollydbg

我使用简单的crackme应用程序进行一些逆向工程,我正在使用OllyDbg进行调试。

我坚持指令行为和操作数0x0FF。我的意思是它在C ++中相当于 if(... = true)

令人困惑的是:


    ECX = CCCCCC01
    ZF = 1
    AND ECX, 0FF
    ### After instruction
    ECX  = 00000001
    ZF = 0
    ZF - Should be active

我不知道为什么ECX寄存器1和ZF的结果不活跃。

AND => 1,1 = 1(相同的操作数)        否则= 0

有人可以解释一下吗?

感谢您寻求帮助

1 个答案:

答案 0 :(得分:1)

这是一个明智的AND,所以在二进制中你有

    1100 1100 1100 1100 1100 1100 0000 0001
AND 0000 0000 0000 0000 0000 0000 1111 1111
    ----------------------------------------
    0000 0000 0000 0000 0000 0000 0000 0001