-
-
[转帖]钩子注入多个疑惑。多个多个怪异的疑惑……
-
发表于:
2012-11-17 01:55
3780
-
今天发现以下几个问题:
被注入进程与注入器进程共享一个钩子dll。但是加载钩子dll的是注入器进程,被注入进程仅仅是再映射一次钩子dll的物理地址罢了。(因而用xuetr看不到被注入进程中钩子dll的踪影。)windows要做的仅仅是映射,并没有实现dll的初始化和各种链表的填充。
由此产生了另外一个问题:
那么钩子dll产生的窗口究竟归谁所有? 刚刚写了个程序测试了下,是归注入器的一个线程所有,但是明明已经映射到对方地址空间了,为何还要在注入器进程内产生窗口?获取当前进程路径显示的却是被注入进程的进程名和全路径名。(关掉被注入进程后,钩子dll的窗口还在。)
那么究竟这个dll现在操作的资源以及内存地址是属于哪个进程的?(假设我要修改0x00400000上的数据,究竟改注入器的还是被注入进程的?)
搞晕了都。
(发现钩子dll还可以实现进程通信,A进程载入钩子dll,修改钩子dll全局变量a,而后SetWindowsHookEx,B进程被注入,B调用钩子dll显示a,结果与进程A所初始化的变量一模一样。B进程再度修改a,进程A负责显示a,结果仍然一样。 而这个a是两个进程都有的,只不过被映射到同一个物理地址上)
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)