2011-01-09 7 views
10

Ich habe etwas sehr seltsames gefunden, und die Dinge addieren sich einfach nicht. Als erstes habe ich das hier gepostet, weil ich nicht sicher bin, ob das irgendetwas mit Computerviren zu tun hat. Und wenn ja, könnten Sie mich bitte an einen Ort bringen, an dem Sie Hilfe finden können?Infizierter Compiler oder Fehlfunktion?

So jetzt:

ich hier eine Art seltsamen Problem habe, sowohl meinen Anti-Virus und Malwarebytes Flagcode * mit masm und masm Beispielen als Virus zusammengestellt. Ich habe gegoogelt und festgestellt, dass dieses Problem schon vorher aufgetreten ist, also habe ich das nicht zu ernst genommen und zuerst gedacht, dass es ein falsch-positives ist.

Aber ich kompilierte den Code, den Sie am Ende dieses Beitrags sehen, um einige andere Dinge von mir aus zu testen. Und ich lief es durch OllyDbg (mittlerweile meine Comodo Antivirus ignoriert wird) und dann sah ich diese:

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 

Der folgende Code kann unmöglich kompilieren in diesen Sprung, also war ich in, um den Code zu treten. Und eine Weile später sah ich, dass der seltsame Code durch APIs in der ntdll.dll-Bibliothek zu nummerieren begann. Was ist los? Wenn das wirklich ein Virus ist, wo man Hilfe bekommt?

Aber ich bin noch nicht sicher, beide comodo und Malwarebytes flagg nur die Beispiele, wie Viren, nicht aber die Datei (test.exe) als Virus

Prüfregeln ich testen wurde mit ...

*: 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 

Update:

Der Code ist nicht auf der Festplatte, sondern im Gedächtnis, so dass es wahrscheinlich eine Bibliothek von einer Art dies zu tun:

Disassembly 

00401000     start: 
00401000 90      nop 
00401001 90      nop 
00401002 90      nop 
00401003 90      nop 
00401004 90      nop 
00401005 90      nop 

Und ich habe den Prozess invoke Ausfahrt entfernt und es ist immer noch da

Antwort

9

Im Hinblick auf die ungeklärte Sprung, eine schnelle Suche auf Google führen zu this thread auf masm32.com, die interessante Informationen zu liefern scheinen, und most notably:

„Comodo“ Internet Security ist der Schuldige.
Es ändert ausführbare Dateien im laufenden Betrieb, um eine eindeutige partielle "Sanbox" zu implementieren.

+10

+1. Viruschecker unterscheiden sich nicht so sehr von Viren. –

+0

Es tut? Danke Gott! Mann, ich fürchtete mich für eine Sekunde: O Ich dachte, ich würde alle meine Daten verlieren (passierte vorher ...) * deinstalliert comodo * – Rick

1

Die Adresse 71B00000 ist ziemlich weit von Ihrem aktuellen Code entfernt, überprüfen Sie, ob es tatsächlich in einem anderen geladenen Modul ist. Könnte sogar ein Nebeneffekt der Verwendung der invoke Makro sein (oder einfach mit DLLs - seit ExitProcess wird aus einer DLL importiert). Versuchen Sie, was passiert, wenn Sie das durch eine einfache Endlosschleife ersetzen, d. JMP . oder sowas. Sie müssen dann Ihr Programm natürlich manuell beenden, aber es wird ein interessanter Datenpunkt sein. Überprüfen Sie auch Ihre EXE-Datei auf der Festplatte, um zu sehen, ob es bereits die JMP am Start hat oder nicht.

+0

Absolut richtig, dass der Aufruf von 'ExitProcess' erwartet werden sollte, Code in' ntdll.dll' auszuführen. –

+0

Will tun, und zurück in einer Minute, aber in der Zwischenzeit habe ich die anderen Dateien im Verzeichnis (auch ollydb) überprüft und ich fand, dass olly hatte den gleichen Sprung zu dieser Adresse, an der gleichen Stelle (Adresse des Einstiegspunktes) Ich habe dann olly in Speicher geladen und das Debugging olly warnte mich, dass der Code selbst modefing sein könnte, von dem, was ich weiß, von Viren ist das ziemlich schlimm, nicht wahr? – Rick