我用我的个人语言制作我的个人编译器。 它不仅仅是编译。它链接,它为输出添加资源部分。 它立即生成完整的可执行文件,而不依赖于其他链接器。
我一直在使用一些测试输出exe文件来测试我为编译器设计的函数,但后来我发现了非常烦人的问题。 Avira Antiver和许多其他防病毒程序认为程序是一种病毒。
我多次更改了汇编代码,并试图找到导致错误检测的确切原因。这是它的最终版本。
http://attltb.mireene.com/Test.zip 然后Avira说它有TR.Crypy.XPACK.Gen ....什么?
我的意思是,严肃地说,它实际上什么都不做。 就是这样。
EntryPoint:
push dword 0
call dword[ExitProcess]
ret
它只使用一个函数' ExitProcess'来自kernel32.dll。 (上面的ExitProcess标签是函数的指针所在的'导入地址表'区域的可删除。)
这个程序有什么问题?为什么Avira仍然认为它是病毒? 我的exe文件图像标题中有什么问题吗?我的测试程序至少在没有被Avira阻止的情况下工作得非常好,但有些问题我不知道吗?
请告诉我。我对这些防病毒软件一无所知。
答案 0 :(得分:0)
问题解决了。我做了很多小错误,但最大的原因是在富有的签名'在Dos Stub和PE头之间。
http://www.ntcore.com/files/richsign.htm
所以这些Avira白痴实际上是用它来检查某些东西是不是恶意软件......?太可惜了。这对我来说很有趣,因为它很容易用一些假钥匙欺骗他们。 XD