我遇到了一些非常奇怪的事情,事情就是不加起来。首先,我在这里发布这个是因为我不确定这是否与计算机病毒有关。如果是这样,你能指导我到一个地方寻求帮助吗?
所以现在:
我在这里遇到了一些奇怪的问题,我的防病毒和恶意软件字节标志代码*都是用 masm 和 masm 示例作为病毒编译的。我用谷歌搜索过,发现这个问题以前也发生过,所以我没有太认真,起初认为这是一个误报。
但是我编译了你在这篇文章底部看到的代码来测试我的其他一些东西。我通过 ollydbg 运行它(同时忽略了我的 comodo 防病毒软件),然后我看到了这个:
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)标记为病毒
我用来测试的测试代码...
*: 包括 \masm32\include\masm32rt.inc
.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
而且我已经删除了调用退出过程,它仍然存在