首页
论坛
课程
招聘
[求助]UNICODE字符串。如何判断母串是否包含一个特定子串?
2022-8-18 13:10 4298

[求助]UNICODE字符串。如何判断母串是否包含一个特定子串?

2022-8-18 13:10
4298

有没有现成函数?

谢谢



CTF训练营-Web篇

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 284
活跃值: 活跃值 (459)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
陈浩楠 活跃值 2022-8-18 14:05
2
0
1:双for循环并记录索引;2:若字串元素在母串中并且索引连续说明母串包含子串
雪    币: 1985
活跃值: 活跃值 (1508)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
LexSafe 活跃值 2022-8-18 14:56
3
0
 KWP SUNDAY
雪    币: 12079
活跃值: 活跃值 (7417)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
hzqst 活跃值 3 2022-8-18 16:55
4
0
如果你说的是UNICODE_STRING的话,只有判断prefix和suffix的,没有find
雪    币: 409
活跃值: 活跃值 (880)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Thead 活跃值 2022-8-19 09:16
5
0

可以自己写一个

BOOLEAN
RtlFindSubString (   
	PUNICODE_STRING Source,
	PUNICODE_STRING Search   
    )     
{   
	USHORT index = 0;
	USHORT SearchChar = 0;
	USHORT Loop = 0;

	if( ! Source || ! Search )
		return FALSE;
	if( RtlUnicodeStringValidateEx( Source, 0 ) != STATUS_SUCCESS )
		return FALSE;
	if( RtlUnicodeStringValidateEx( Search, 0 ) != STATUS_SUCCESS )
		return FALSE;
	if( Source->Length < Search->Length )
		return FALSE;

	if( Source->Length == Search->Length )
		return RtlEqualUnicodeString( Source, Search, TRUE );

	SearchChar = Search->Length >> 1;
	Loop = ( Source->Length >> 1 ) - SearchChar;

	while( index <= Loop )
	{
		if ( !_wcsnicmp( &Source->Buffer[index], Search->Buffer, SearchChar ) )
			return TRUE;

		index++;
	}
	return FALSE;   
}


雪    币: 3852
活跃值: 活跃值 (691)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MSGG05 活跃值 2022-8-23 16:19
6
0
FsRtlIsNameInExpression
游客
登录 | 注册 方可回帖
返回