我遇到了非常奇怪的事情,感觉一切都不对劲。
首先,我在这里发布了这篇文章,因为我不确定这是否与计算机病毒有关。如果有,你能给我指导下哪里可以寻求帮助吗?
现在主要问题是:我的杀毒软件和malwarebytes都会标记使用masm编译的代码以及masm示例为病毒。我已经通过谷歌搜索发现此类问题曾经出现过,所以一开始我认为这只是误报而没有太在意。
但是,我编译了您在本文底部看到的代码来测试我的另外一些东西。我在忽略我的卡巴斯基杀毒软件的同时,通过ollydbg运行它,然后我看到了这样的提示:
但我仍然不确定,comodo和malwarebytes都只将示例标记为病毒,而不标记文件(test.exe)为病毒。
用于测试的测试代码: …
现在主要问题是:我的杀毒软件和malwarebytes都会标记使用masm编译的代码以及masm示例为病毒。我已经通过谷歌搜索发现此类问题曾经出现过,所以一开始我认为这只是误报而没有太在意。
但是,我编译了您在本文底部看到的代码来测试我的另外一些东西。我在忽略我的卡巴斯基杀毒软件的同时,通过ollydbg运行它,然后我看到了这样的提示:
00401000 > -E9 FBEF6F71 JMP 71B00000 ; this is a weird jump I did not put there
00401005 90 NOP
00401006 8BC0 MOV EAX,EAX
00401008 . 8BD8 MOV EBX,EAX
0040100A . 33D9 XOR EBX,ECX
0040100C . 8BC3 MOV EAX,EBX
0040100E . 03CB ADD ECX,EBX
00401010 . 33C3 XOR EAX,EBX
00401012 . 2BC1 SUB EAX,ECX
00401014 . 8BCB MOV ECX,EBX
00401016 . 33D9 XOR EBX,ECX
下面的代码不可能编译成那种跳转指令,所以我开始进入代码。过了一会儿我看到奇怪的代码开始枚举 ntdll.dll 库中的 API。发生了什么?如果这是确实是病毒,应该在哪里获得帮助?但我仍然不确定,comodo和malwarebytes都只将示例标记为病毒,而不标记文件(test.exe)为病毒。
用于测试的测试代码: …
.data
.code
Start:
nop
nop
nop
nop
nop
nop
mov eax, eax
mov ebx, eax
xor ebx, ecx
mov eax, ebx
add ecx, ebx
xor eax, ebx
sub eax, ecx
mov ecx, ebx
xor ebx, ecx
invoke ExitProcess, 0h
end Start
更新:
这段代码不在磁盘上,而是在内存中,因此很可能是某个库在进行此操作:
Disassembly
00401000 start:
00401000 90 nop
00401001 90 nop
00401002 90 nop
00401003 90 nop
00401004 90 nop
00401005 90 nop
我已经删除了调用退出进程的部分,但它仍然存在。