and是当位与都为1的时候才返回1
也就是
1 and 1=1
1 and 0=0
0 and 0=0
0 and 1=0
为了对其内存,所以选择and fff0
这样消除了低位永远都是16的倍数
如果没有对齐,cpu可能需要两次内存访问才能获取栈内数据
(8字节即可满足32位的x86cpu以及64位的x64cpu,但是主流编译器都拟订像16位对齐,所以产生目前的情况)
参考资料:逆向工程权威指南

标签: none

添加新评论