缓冲区溢出的缓冲区的好名字是什么?
What is a good name for a buffer for buffer overflow?
我不确定在这里问这个问题是否合适,所以请将此 post 迁移到更合适的正确位置。
我真的很想知道这个的正确名称是什么。
char buf[SIZE + XX]
buf
将包含最多 SIZE
的有意义的数据,但一些例程会覆盖 SIZE
所以我应该提供一个 缓冲区 XX
溢出。
你觉得 XX
的名字好听吗?
这叫做填充。
举个例子
struct Struct {
int i;
char ch;
}
在具有 sizeof( int )
个 4
的特定系统上,sizeof( struct Struct )
可能是 8
。这是因为在末尾添加了 3 个字节的填充(在该系统上)以确保此结构的数组的每个元素都正确对齐。
以加密协议为例。他们通常使用 fixed-size 块。对称加密的现代标准就是这样一种协议。 AES 只能编码和解码 128 位块。那么,如果您要发送的数据不是 128 位的倍数怎么办?必须使用填充。
在第一个示例中,填充是指满足 meta/sizing 约束而不是存储数据所需的额外 space。
在第二个例子中,填充是指满足meta/sizing约束而不是携带信息所需的额外数据。
在这两个示例中,填充都是指为满足 meta/sizing 约束而额外添加的内容。这就是您要添加的内容。
最后,事情不是这样。 “溢出”是指不足space。 “安全”意味着猜测或不确定性。这两个词在这里都不合适。
我不确定在这里问这个问题是否合适,所以请将此 post 迁移到更合适的正确位置。
我真的很想知道这个的正确名称是什么。
char buf[SIZE + XX]
buf
将包含最多 SIZE
的有意义的数据,但一些例程会覆盖 SIZE
所以我应该提供一个 缓冲区 XX
溢出。
你觉得 XX
的名字好听吗?
这叫做填充。
举个例子
struct Struct {
int i;
char ch;
}
在具有 sizeof( int )
个 4
的特定系统上,sizeof( struct Struct )
可能是 8
。这是因为在末尾添加了 3 个字节的填充(在该系统上)以确保此结构的数组的每个元素都正确对齐。
以加密协议为例。他们通常使用 fixed-size 块。对称加密的现代标准就是这样一种协议。 AES 只能编码和解码 128 位块。那么,如果您要发送的数据不是 128 位的倍数怎么办?必须使用填充。
在第一个示例中,填充是指满足 meta/sizing 约束而不是存储数据所需的额外 space。
在第二个例子中,填充是指满足meta/sizing约束而不是携带信息所需的额外数据。
在这两个示例中,填充都是指为满足 meta/sizing 约束而额外添加的内容。这就是您要添加的内容。
最后,事情不是这样。 “溢出”是指不足space。 “安全”意味着猜测或不确定性。这两个词在这里都不合适。