上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 130 下一页
该文被密码保护。 阅读全文
posted @ 2025-07-25 00:04 最爱丁珰 阅读(3) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-07-25 00:00 最爱丁珰 阅读(4) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-07-24 23:59 最爱丁珰 阅读(3) 评论(0) 推荐(0)
摘要: 目录P188 P188 这一段是在说强制转换就是向零取证,由于d是double,u是long,所以两者的二进制表示很不一样(想一下1.5和1的二进制表示);而联合是不会改变二进制表示的,所以当d=1.0的时候,u=4607182418800017408 阅读全文
posted @ 2025-07-23 20:35 最爱丁珰 阅读(4) 评论(0) 推荐(0)
摘要: 目录P198P199P201 P198 解释一下栈随机化 程序执行的时候会分配栈帧,如果使用随机化,就是在main函数前随机分配一段内存不适用,这个时候就没办法预测返回地址了,如下 P199 解释一下空操作雪橇: 假设有一个机器,攻击者可以向机器中输入一个字符串,而且攻击者知道机器在接收字符串之后的 阅读全文
posted @ 2025-07-23 20:32 最爱丁珰 阅读(6) 评论(0) 推荐(0)
摘要: 目录P195P197 P195 gets函数体中有一个语句*dest++:注意回忆一下,这里的++是后自增,所以先会解引用,然后把c的值赋值,然后再将指针加一;如果写成(*dest)++,那么就是先解引用,并且让dest指向的值后自增(而不是像前面一样让dest后自增) 还有一些函数与gets一样 阅读全文
posted @ 2025-07-23 17:02 最爱丁珰 阅读(7) 评论(0) 推荐(0)
摘要: 这里补充一下课上讲的关于内存的东西 虽然x86-64理论上的内存大小为\(2^{64}\),但实际上只有\(2^{47}\),于是内存的起始位置为0x00007fffffffffff(注意内存的地址是逐渐减小的,所以这是起始地址而不是结束地址;参考栈) Stack 如图所示,运行时栈 大小不能超过8 阅读全文
posted @ 2025-07-23 14:01 最爱丁珰 阅读(8) 评论(0) 推荐(0)
摘要: 目录P189 P189 这里说的对齐的原因就是大部分机器一次性读取的字节是多个(而不是一个字节),如果不对齐的话一个数据就有可能跨越两个读取区域。x86-64可以正常工作,但是有些机器不可以;无论如何效率都会下降 阅读全文
posted @ 2025-07-22 16:06 最爱丁珰 阅读(9) 评论(0) 推荐(0)
摘要: 来看一个比较复杂的例子 上面的结构体定义中应该是a[4]而不是a[3] 阅读全文
posted @ 2025-07-22 15:57 最爱丁珰 阅读(8) 评论(0) 推荐(0)
摘要: 目录P181 P181 书上的函数也可以直接传递指针 阅读全文
posted @ 2025-07-22 15:51 最爱丁珰 阅读(7) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 130 下一页