以下是bt
X64 Windows 二进制文件中的指令示例:
bt eax, 18h
jnb short loc_a
lea rcx, String
call cs:__imp_wprintf
mov eax, [rbx+40h]
在伪代码中:
if ( _bittest(&Mode, 0x18u) )
{
wprintf(L"String");
Mode = Properties->Mode;
}
_bittest
IF 语句中使用的宏是什么?是类似if(a & b == b)
还是什么的?该代码if(a & b == b)
用于检查一个标志是否存在于 OR 运算的标志中。从调试中,我发现上面的汇编代码正在做类似的事情。