我正在编写一个调用IsDebuggerPresent的c#桌面应用程序,如果它是我的应用程序退出。我在下面的文章中读到防病毒程序将此功能作为恶意软件的指示器: https://www.alienvault.com/open-threat-exchange/blog/your-malware-shall-not-fool-us-with-those-anti-analysis-tricks
此功能是否会被防病毒程序标记为我的应用程序?
答案 0 :(得分:2)
您的程序极不可能被标记。
这篇文章讨论的是调用的本机版本,并且该调用使用极其非标准的调用方式来尝试避免检测,而不是托管版本。
但是,我怀疑你会在你的程序中找到任何好处,它根本不会阻止人们分析你的程序。人们可以在调用IsDebuggerPresent
时设置断点,然后跳过if
检查。当您尝试解决代码中的问题时,添加此检查可能导致的唯一问题是您自己会感到头疼。
答案 1 :(得分:1)
唯一知道的方法就是测试。我知道赛门铁克的企业版根本不介意托管版本。
请注意,该呼叫不会促进系统上的病毒活动。它只是帮助病毒使AV实验室的分析师长达一天。没有理由在野外寻找它作为病毒的标志。