首页
社区
课程
招聘
[求助]如何往unicode字符串后面添加NULL字符?
发表于: 2008-4-14 13:58 6585

[求助]如何往unicode字符串后面添加NULL字符?

2008-4-14 13:58
6585
我从内存中找到了一个驱动的驱动对象地址,想获得它的名字,用了如下的方法
wchar_t DriverName[256] = {0};

wcsncpy(DriverName, pDriver->DriverName.Buffer, pDriver->DriverName.Length);
wcscat(DriverName,UNICODE_NULL);

即先把驱动结构中指向名字的unicode字符串中的名字复制到一个变量中,然后向尾部添加一个空字符作为结尾,发现当调用wcscat的时候,就会出现蓝屏,怎么也不理解,哪位高手知道,请帮忙解决下。 或者是如何正确的获得驱动的名字。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
没必要。。。
2008-4-14 15:45
0
雪    币: 200
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
如果您知道怎么做,请告诉我。
2008-4-14 15:59
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
画蛇添足。。。
2008-4-14 16:00
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
5
1、如楼上所说,没有这样做的必要。如果你的驱动结构中指向的名字没有超出你的缓冲区,你的缓冲区本身就已经是以NULL结尾的了。如果你的驱动结构中指向的名字超出你的缓冲区或刚好和你设定的缓冲大小一样,你再添加NULL只会另缓冲区更加溢出。
2、wcscat函数两个参数都是指针,而你传给wcscat函数的第二个参数是NULL,导致系统读取0地址,当然会蓝屏了。
2008-4-14 17:24
0
雪    币: 200
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
非常感谢楼上版主的解答!
2008-4-14 17:38
0
游客
登录 | 注册 方可回帖
返回
//