在一些破解的文章中,会出现下面的情况 :00401098 50 push eax :00401099 8BCF mov ecx, edi :00401056 52 push edx :00401057 8BC8 mov ecx, eax :00401059 E8021D0100 call 00412D60 :0040105E 85C0 test eax, eax :00401060 7421 je 00401083 在上述的程序段中,我的不明白是两个ax的直,是相同的还test 干什么 ((我知道两个ax的直不同,但怎么会不同的了???)) 请各位高手帮忙 |
test指令操作是目的操作数和源操作数按位逻辑“与“ 运算结果不送回目的操作数 然后根据结果设置SF、ZF、和PF标志位,并将CF和OF 标志位清零。 而JE是当ZF=1时跳转。 即,当eax的值等于0时跳转。 因此说,这里的test就是检测eax的值是不是0 |