这次更新 突然发现 打开游戏2分钟后 CE会被最小化,就很奇怪,关闭游戏 就正常了,讲道理大厂不至于搞这种方式来反调试,好在之前搞别的游戏的时候遇到过这种情况,哈哈!
其实是他检测到打开了调试器后就发送一个窗口消息 让调试器最小化。一般而言反作弊引擎会执行关闭调试器进程 或者 弹窗三方,这种情况还是比较少见的
那么,怎么解决呢! 其实很简单了,要给别的进程发送窗口消息一般而言 用的是一个winodws api
就是NtUserPostMessage
NTSTATUS NtUserPostMessage( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam );
这个函数用于将消息放入指定窗口的消息队列中,并在窗口过程中处理这些消息。下面是对这个函数的参数进行详细解释:
如果函数成功,它将返回STATUS_SUCCESS;否则,它将返回一个错误代码。
注意:这个函数是一个未公开的 Windows API 函数,它只能在 Windows 操作系统中使用,并且需要管理员权限才能调用。
NtUserPostMessage函数是一个未公开的 Windows API 函数,它与PostMessage函数类似,用于将消息放入消息队列中,并立即返回。但是,NtUserPostMessage函数可以用于将消息发送到系统中的任何线程,而不仅仅是窗口线程。
所以 ,可以直接处理这个函数即可,首先CE 附加游戏,当然,想要CE可以正常访问 读写内存 还是要学习咱们驱动课程的内容,咱们这里已经处理好了。
跳转到函数NtUserPostMessage
改完之后,游戏就没法发送窗口消息了。这个是最简单的方法了,也可以 在CE这把处理CE最小化这条线的函数,原理类似。