2011-01-09 80 views
10

我遇到了一件很奇怪的事情,事情總是不加起來。 首先,我在這裏發佈這個,因爲我不確定這與計算機病毒有什麼關係。如果確實如此,請問我能否找到幫助的地方?受感染的編譯器或故障?

所以現在:

我在這裏有某種奇怪的問題,我的防病毒和的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進行枚舉。發生了什麼?如果這確實是病毒在哪裏得到幫助?

但我還是不知道,這兩個魔島和的Malwarebytes弗拉格只有例子如病毒,而不是文件(test.exe的)作爲病毒

測試代碼,我用測試...

*: 包括\ MASM32 \包括\ 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 

而且我已經刪除了調用退出過程和它仍然存在

回答

9

關於不明原因的跳躍,在masm32.com在谷歌導致this thread快速搜索這似乎提供有趣的信息,並most notably

「COMODO」互聯網安全的罪魁禍首。
它正在修改可執行文件以實現唯一的部分「sanbox」。

1

地址71B00000距離當前代碼很遠,請檢查它是否實際上位於某個其他加載的模塊內部。甚至可能是使用宏的invoke的副作用(或者簡單地使用DLL--因爲ExitProcess是從DLL導入的)。試試如果你用一個簡單的無限循環替換它,會發生什麼。 JMP .或其他。然後,您將不得不手動殺死您的程序,但這將是一個有趣的數據點。另外,檢查你的exe文件在磁盤上,看看它是否已經在開始時有JMP

+0

絕對正確的調用`ExitProcess`應該可以開始在`ntdll.dll`中執行代碼。 – 2011-01-09 19:37:50

+0

會做,並在一分鐘後回來,但同時我檢查了目錄中的其他文件(也是ollydb),我發現olly跳到同一個地址(入口點的地址)然後我重新加載了內存中的olly,並且調試olly告誡我說,代碼可能是自我模式,從我知道的病毒很少這是非常糟糕的不是嗎? – Rick 2011-01-09 19:39:42