调用kernal32 IsDebuggerPresent函数会导致防病毒程序标记我的应用程序吗?

时间:2016-04-14 00:37:52

标签: c# winforms antivirus kernel32

我正在编写一个调用IsDebuggerPresent的c#桌面应用程序,如果它是我的应用程序退出。我在下面的文章中读到防病毒程序将此功能作为恶意软件的指示器: https://www.alienvault.com/open-threat-exchange/blog/your-malware-shall-not-fool-us-with-those-anti-analysis-tricks

此功能是否会被防病毒程序标记为我的应用程序?

2 个答案:

答案 0 :(得分:2)

您的程序极不可能被标记。

这篇文章讨论的是调用的本机版本,并且该调用使用极其非标准的调用方式来尝试避免检测,而不是托管版本。

但是,我怀疑你会在你的程序中找到任何好处,它根本不会阻止人们分析你的程序。人们可以在调用IsDebuggerPresent时设置断点,然后跳过if检查。当您尝试解决代码中的问题时,添加此检查可能导致的唯一问题是您自己会感到头疼。

答案 1 :(得分:1)

唯一知道的方法就是测试。我知道赛门铁克的企业版根本不介意托管版本。

请注意,该呼叫不会促进系统上的病毒活动。它只是帮助病毒使AV实验室的分析师长达一天。没有理由在野外寻找它作为病毒的标志。