CSAPP--Notes

CSAPP阅读笔记
文章仅作为笔者复习参考,其中内容仅为笔者当前阶段学习CSAPP的理解.

第三章 程序的机器级表示

3.6.1条件码:

CF:进位标志.最近的操作使最高位产生了进位.
ZF:零标志.最近操作的结果为0.
SF:符号标志.最近的操作得到负数.
OF:溢出标志.最近的操作导致一个补码溢出
PF:奇偶标志位.最近操作的结果所有bit中1为偶数
AF:辅助进位标志位 运算过程中看最后四位,不论长度为多少 最后四位向前有进位或者借位,AF=1,否则AF=0
TF:调试标志位 当TF=1时,处理器每次只执行一条指令,即单步执行
IF:中断允许标志位 它用来控制8086是否允许接收外部中断请求 若IF=1,8086能响应外部中断,反之则屏蔽外部中断
DF:方向标志位 在串处理指令中,每次操作后,如果DF=0,si di递增,如果DF=1,si di递减;注意此处DF的值是由程序员进行设定的 cld命令是将DF设置为0,std命令是将DF设置为1
进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;
溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确。
leaq指令不改变任何条件码.对于逻辑操作,进位标志和溢出标志会设置成0.对于移作,进位标志将设置为最后一个被移出的位,溢出标志设置为0.INC和DEC指令仅设出和零标志.

阅读更多...

Pwnhub 2023 3月公开赛 WP

Pwnhub 2023 3月公开赛 WP

sh_v1_1

glibc2.31堆题
一堆莫名其妙的全局变量运算,白看了半天最后发现一点用都没有.
恢复一下结构体

1
2
3
4
5
struct file{
long flag;
char filename[32];
char* content_ptr;
}

程序逻辑就是模拟的一个linux终端,输入命令进行相应处理.
漏洞在ln的时候可以备份指针造成uaf

阅读更多...
  • Copyrights © 2022-2025 翰青HanQi

请我喝杯咖啡吧~

支付宝
微信