2017-05-12 45 views
1

我正在用我的个人语言编写个人编译器。 它不只是编译。它链接,它为输出添加资源部分。它可以一次生成完整的可执行文件,而不依赖于其他链接器。这究竟是一种病毒?

我一直在用一些测试输出exe文件来测试我为编译器设计的函数,但后来我发现非常恼人的问题。 Avira Antiver以及许多其他防病毒程序认为程序是病毒。

我改变了汇编代码几次,试图准确地找到导致错误检测的原因。这是它的最终版本。

http://attltb.mireene.com/Test.zip 然后Avira说它有TR.Crypy.XPACK.Gen ....什么?

我的意思是,严肃地说,它从字面上什么都不做。 就是这样。

EntryPoint: 
    push dword 0 
    call dword[ExitProcess] 
    ret 

它只使用kernel32.dll中的一个函数'ExitProcess'。 (上面的ExitProcess标签是可更改的'Import Address Table'区域中的函数指针所在的位置。)

这个程序有什么问题?为什么Avira仍然认为它是病毒? 我的exe文件图像头有什么问题吗?至少当他们没有被Avira阻止时,我的测试程序工作得很好,但是有一些问题我不知道?

请告诉我。我对这些杀毒软件一无所知。

回答

0

问题解决了。我做了很多小错误,但最大的原因是Dos Stub和PE头之间的'富有签名'。

http://www.ntcore.com/files/richsign.htm

所以这些查杀白痴实际上是以此来检查一番是否是恶意软件或不...?真是一个惊喜。这对我来说很有趣,因为用一些假钥骗他们很容易。 XD