2014-10-10 59 views
6

.net是否可以確定另一個程序是否正在監視您的過程?如何檢測外部程序監控您的過程?

我的意思在這裏我有一個exe運行,如果有人推出procmon.exe或試圖瞭解我的exe文件的一些信息,其他一些應用程序,我想我的exe文件來記錄這一點。

+2

這可能取決於你爲什麼想知道,如果有人在看着你(程序)更適合security.stackexchange.com。 – Luminous 2014-10-10 15:10:48

+4

如果有辦法做到這一點,攻擊者只會修補你的程序,這樣API總是返回「nope」。 – 2014-10-10 15:14:42

+0

我剛剛下載了一個應用程序,我想知道文件正在寫入的位置(當它是流式傳輸時)。我的試用許可證消失/過期了。我覺得那很酷,想從技術角度知道它是如何完成的。 – 2014-10-10 15:23:16

回答

3

這是一個龐大而複雜的問題,而我只用它的存在,也不是專家熟悉。因此,所有我可以提供一個搜索詞:

  • 反調試

它涵蓋了監測手段,措施,以防止檢查,並混淆,使通過監控完全無用獲得的信息檢測。

請注意,反向器之間存在軍備競賽,他們希望調試系統上運行的任何代碼和所有代碼,以及想要保護好奇心的DRM設計人員。除非你願意奉獻自己的人生才能成爲專家,否則你可能會堅持從某個人那裏購買解決方案。或者只是決定它不值得。

即使你認爲內容所有者擁有道德權利禁止逆向工程,請注意,從保護默默無聞沒有一個好處相當多的惡意軟件的作者。

此外,這是相當不同的,以保持中性的表達。但我試過了。

1

監視過程可以從直接從操作系統(例如TaskManager,perfmon等)獲取有關您的過程的信息。在這種情況下,你的過程不知道任何事情。

在另一種情況下,監控過程可以連接和調試你的過程。當調試器連接到你的進程時,後者停止,調試器可以獲得有關其執行的信息。所以你的過程不能「分離調試器在自己的」沒有一些額外的安全措施。

+3

可以做的最簡單的事情之一是安裝一個良性的調試器,這將阻止任何其他有創調試器附加。但總是有非侵入式(被動)調試。 – 2014-10-10 21:19:48