我遇到了一些非常奇怪的事情,事情就是不加起来。 首先,我在这里发布了这个,因为我不确定这是否与计算机病毒有任何关系。如果确实如此,你能指导我到一个寻求帮助的地方吗?
现在:
我在这里有一些奇怪的问题,我的反病毒和恶意软件标记代码*用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)标记为病毒
我用来测试的测试代码......
*: include \ 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
我已经删除了调用退出流程,它仍然存在
答案 0 :(得分:9)
关于无法解释的跳转,google上的快速搜索导致masm32.com上的this thread似乎提供了有趣的信息,most notably:
“COMODO”互联网安全是罪魁祸首 它正在修改可执行文件以实现一个独特的部分“sanbox”。
答案 1 :(得分:1)
地址71B00000离您当前的代码相当远,检查它是否实际上在其他已加载的模块中。甚至可能是使用invoke
宏(或简单地使用DLL - 因为ExitProcess
从DLL导入)的副作用。试试如果用简单的无限循环替换它会发生什么,即。 JMP .
或某些人。当然,您必须手动终止程序,但这将是一个有趣的数据点。另外,检查你的exe文件在磁盘上,看看它是否已经在开始时有JMP
。