检查最高位是否为1的一个技巧
很多flags有不同位,对于最高位的检验,我们一般思维是 and 一个数值然后判断是否为零,或者右移判断为零
但发现了一种更好的检测方法 js 来判断,如果最高位为1,则test后 eflags中的 s位为1,其表示负数。
因此,我们可以使用 test eax,eax js xxx(如果成立) 这种方法
这种本质上就是将该数当做一个有符号数,然后判断其是否小于0,也就是最高位是否为1
2024-02-13 20:10:10
检查最高位是否为1的一个技巧
很多flags有不同位,对于最高位的检验,我们一般思维是 and 一个数值然后判断是否为零,或者右移判断为零
但发现了一种更好的检测方法 js 来判断,如果最高位为1,则test后 eflags中的 s位为1,其表示负数。
因此,我们可以使用 test eax,eax js xxx(如果成立) 这种方法
这种本质上就是将该数当做一个有符号数,然后判断其是否小于0,也就是最高位是否为1
下一篇:ShellCode模板