防病毒进程杀预防?
我正在搜索如何防止应用程序被杀死,但还没有真正找到一个答案来描述它如何用于防病毒应用程序。
我期待做的是一个工具(类似于 Gameguard、xTrap)来防止我在 XNA 上制作的简单在线游戏被作弊。
在开发防止用户在游戏中作弊的功能的过程中,我想知道AVG、诺顿和其他防病毒应用程序如何与操作系统协调工作,不允许管理员用户关闭其应用程序,但又可以优雅地关闭?
如果不使用第二个应用程序来观看我的反作弊应用程序,是否可以捕获其上的终止事件,以便我至少可以在发生这种情况时关闭我的游戏?
我也在考虑使用我的游戏作为我的反作弊的观察者,反之亦然,每当其中一个消失时,另一个也会消失,但我也想了解上述内容。
从我所看到的情况来看,人们很容易通过这些调用的简单绕道来绕过这些事情,所以也许让我的游戏作为反作弊者的观察者也不会那么有效......
希望得到一些与以下内容相关的答案、建议和代码我可以改进游戏和反作弊应用程序的安全性。
还有防止 olly 等调试器附加到它的信息。
I was searching around in regards how to prevent an application from being killed but haven't really found an answer that describes how it works for antivirus applications for example.
What I am looking forward to do is a tool (similar to Gameguard, xTrap) to prevent cheating on my a simple online game I made on XNA.
In the process of doing features to prevent the user to cheat on my game I was wondering how AVG, Norton and others antivirus application work in harmony with the OS not allowing admin users to close their application but yet shutting down gracefully ?
With out using a second application to watch my anticheat application is it possible to catch kill events on it so I can atleast close my game when that happens ?
I was also considering using my game as a watcher for my anticheat and viceversa to whenever 1 of them goes off the other goes as well but I would like to understand the above as well.
From what I have seen people easyly bypass these kinda of things with simple detours on those calls so maybe having my game as watcher for the anticheater wouldn't be so efficient either ...
Would love some answers, advices, piece of codes related to what I could improve as security for my game and anticheat application.
Also information preventing debuggers such as olly and the such to attach to it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我能想到的唯一方法是将代码/dll 挂钩/注入到任务管理器或 kernel32 中。
每个进程终止都会调用“TerminateProcess”。
起点: http://www.codeproject.com/KB/vista/api- hooks.aspx
尝试谷歌搜索:TerminateProcess hook
Only way i can think of is by hooking/injecting code/dll into task manager or kernel32.
Each process killing ends up with call to "TerminateProcess".
Start point: http://www.codeproject.com/KB/vista/api-hooks.aspx
Try to google on: TerminateProcess hook