如何检测监控过程的外部程序?

时间:2014-10-10 15:04:40

标签: c# .net

是否可以在.net中确定是否有其他程序在监控您的流程?

我的意思是我有一个exe运行,如果有人启动procmon.exe或其他试图读取有关我的exe的信息的应用程序,我希望我的exe记录这个。

2 个答案:

答案 0 :(得分:3)

这是一个庞大而复杂的话题,我只是熟悉它的存在,而不是专家。所以我能提供的只是搜索词:

  • 反调试

它包括监测工具的检测,防止检查的对策,以及通过监测获得的信息无效的模糊处理。

请注意,逆向器之间存在军备竞赛,他们希望调试系统上运行的任何和所有代码,以及DRM设计人员 1 ,他们希望保护自己的秘密免受好奇头脑。除非你愿意将自己的生命奉献给成为专家,否则你很可能不会从某个人那里购买解决方案。或者只是决定它是不值得的。

1 即使您认为内容所有者有道德权利 2 禁止逆向工程,请注意,没有人会像恶意软件作者那样从保护性隐私中受益。

2 此外,维持中性表达还有很大不同。但我试过了。

答案 1 :(得分:1)

监控过程可以直接从操作系统(例如TaskManager,perfmon等)获取有关您的流程的信息。在这种情况下,您的流程对此一无所知。

在另一种情况下,监控过程可以附加和调试您的流程。当调试器附加到您的进程时,后者会停止,调试器可以获取有关其执行的信息。因此,您的流程无法 自行分离调试器"没有一些额外的安全措施。