2011-01-05 143 views
3

我四處搜尋如何防止應用程序被殺,但還沒有真正找到描述它如何適用於防病毒應用程序的答案。防病毒進程殺死預防?

我期待的是一個工具(類似於Gameguard,xTrap),以防止我在XNA上做的一個簡單的在線遊戲作弊。

在做功能以防止用戶欺騙我的遊戲的過程中,我想知道AVG,諾頓和其他防病毒應用程序如何與操作系統協調工作,不允許管理員用戶關閉他們的應用程序,但尚未正常關閉?

沒有使用第二個應用程序來觀察我的反熱應用程序是否有可能在其上捕獲殺死事件,這樣我就可以在發生這種情況時關閉我的遊戲?

我也在考慮使用我的遊戲作爲我的反熱的觀察者,反之,當他們中的一個脫離另一個時,但我也想理解上面的內容。

從我所看到的人easyly繞過這些有點事情對這些來電,也許有我的遊戲作爲觀察者的anticheater簡單的彎路也不會如此高效要麼...

很想一些答案,建議,與我可以改進的一些代碼相關,作爲我的遊戲和反熱應用程序的安全性。

另外還有一些信息可以阻止諸如olly之類的調試器附加到它上面。

+0

一般來說,如果你不想用的人你的程序篡改,不要在他們的計算機上運行程序。這是他們的硬件;他們會找到一種方法讓它像他們想要的那樣工作。 – cdhowie 2011-01-05 02:29:18

+0

不幸的是,這似乎並不是一種選擇,即使我無法防止他們100%,我相信他們中的很大一部分可以被阻止,而另一大部分會放棄中途。 – Guapo 2011-01-05 02:33:34

+0

如果您不願意將代碼完全從用戶手中拿走,那麼處理此問題的最佳方法是讓服務器*驗證遊戲客戶端發送的內容以確保其合理。服務器應該能夠確保客戶聲稱它正在做的事實際上是可能的。 – 2011-01-05 02:38:32

回答

3

我唯一能想到的方式就是將代碼/ DLL注入/注入任務管理器或kernel32中。

每次進程查殺都以調用「TerminateProcess」結束。

起點:http://www.codeproject.com/KB/vista/api-hooks.aspx

嘗試谷歌:勾了TerminateProcess

+0

非常感謝,這是我得到的第一個答案,其中一個問題。我會檢查一下。 – Guapo 2011-01-05 09:50:42