首页
社区
课程
招聘
[求助]遇到一个有点皮的问题,有人知道什么原因吗
发表于: 2019-2-3 14:14 3560

[求助]遇到一个有点皮的问题,有人知道什么原因吗

2019-2-3 14:14
3560
驱动中调用 NtCreateThreadEx 内存注入DLL到某个进程,然后创建了个线程.
调用了查找窗口的API,发现ANSI和Unicode的API执行结果不一样.

CHAR aaaaa[100] = {0};
		wsprintfA(aaaaa, " %02X \n %02X \n %02X \n %02X \n %02X \n",
			FindWindowA("#32770", 0),
			FindWindowW(L"#32770", 0),
			FindWindowExW(NULL, NULL, L"#32770", NULL),
			FindWindowExA(NULL, NULL, "#32770", NULL),
			findgamewindow());
00
运行结果是这样的

FindWindowA FindWindowExA 正常
FindWindowW FindWindowExW 失败
findgamewindow只是普通的遍历窗口
HWND findgamewindow()
{

	HWND hd = GetDesktopWindow();
	hd = GetWindow(hd, GW_CHILD);
	WCHAR s[200] = { 0 };
	while (hd != NULL)
	{
		memset(s, 0, 200);
		RealGetWindowClassW(hd, s, 200);
		if (wcsicmp(s,L"32770")==0)
		{
			return hd;
		}

		hd = GetNextWindow(hd, GW_HWNDNEXT);
	}
	return NULL;
}

RealGetWindowClassW 也是Unicode接口,调用也没错,正常.就查找窗口那有问题,什么原因?

.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 12848
活跃值: (9108)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
2
FindWindowW被hook了?
2019-2-4 09:00
0
雪    币: 7248
活跃值: (5078)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
hzqst FindWindowW被hook了?
没有,注入的目标进程是我自己写的一个MFC程序而已,用作模拟.
2019-2-4 09:55
0
雪    币: 7248
活跃值: (5078)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
hzqst FindWindowW被hook了?
估计和NtCreateThreadEx 有关吧,使用R3 HOOK API创建线程就没这问题,直接驱动下创建线程才有这个问题.
2019-2-4 10:11
0
游客
登录 | 注册 方可回帖
返回
//