首页
社区
课程
招聘
[求助]关于memset的疑问
发表于: 2016-3-10 20:00 3552

[求助]关于memset的疑问

2016-3-10 20:00
3552
在x64中内核编程中
UCHAR mem[48];
memset(mem,0x90,48);
结果却是:
fffff880`0458b821 90 90 90 90 ff ff ff ff 90 90 90 90 ff ff ff ff
fffff880`0458b831 90 90 90 90 ff ff ff ff 90 90 90 90 ff ff ff ff
fffff880`0458b841 90 90 90 90 ff ff ff ff 90 90 90 90 ff ff ff ff
请高手指教,这是什么原因造成的

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
fffff880`0458b821
821?怎么会有这样的地址?
x64不是8字节对齐吗?
2016-3-10 20:19
0
雪    币: 200
活跃值: (87)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那个就不知道了,windbg中是那样显示的
2016-3-10 20:24
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
UCHAR mem[48];
memset(mem,0x90,sizeof(mem) );
这样调用看看呢
2016-3-10 20:34
0
雪    币: 200
活跃值: (87)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
问题解决了
UCHAR mem[49];
memset(mem,0x90,49);
这样一切正常,不晓得是怎么回事.
2016-3-10 20:42
0
雪    币: 200
活跃值: (87)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
得出一个结果
UCHAR mem[49];
memset(mem,0x90,sizeof(mem));
sizeof(mem)%8等于0,就会出现问题;不等于0,一切正常
2016-3-10 21:09
0
游客
登录 | 注册 方可回帖
返回
//