2011-01-09 14 views
10

Ho incontrato qualcosa di molto strano, e le cose non si sommano. Prima di tutto, ho postato questo qui perché non sono sicuro se questo abbia qualcosa a che fare con i computer virusses. E se lo fa, potresti indirizzarmi in un posto dove trovare aiuto?Compilatore infetto o malfunzionamento?

Così ora:

sto avendo qualche problema strano qui, sia il mio anti virus e Malwarebytes flag Codice * compilato con MASM e MASM esempi come un virus. Ho cercato su Google e ho scoperto che questo problema si è verificato prima, quindi non l'ho preso troppo sul serio e inizialmente ho pensato che fosse un falso positivo.

Ma ho compilato il codice che vedi in fondo a questo post per testare altre mie cose. E mi sono imbattuto attraverso OllyDbg (nel frattempo ignorando la mia comodo antivirus) e poi ho visto questo:

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 

Il codice qui sotto non poteva compilare in quel salto, così mi è stato intervenendo per il codice. E un po 'di tempo dopo ho visto che lo strano codice iniziava ad elencare tramite le API nella libreria ntdll.dll. Cosa sta succedendo? Se questo è davvero un virus dove ottenere aiuto?

ma non sono ancora sicuro, sia Comodo e Malwarebytes Flagg solo gli esempi come virus, ma non il file (test.exe) come un virus

Codice di prova stavo usando per testare ...

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

Aggiornamento:

Il codice non è sul disco, ma in memoria, quindi è probabilmente una libreria di qualche tipo fare questo:

Disassembly 

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

E ho tolto il processo di uscita invocare ed è ancora lì

risposta

9

Per quanto riguarda il salto inspiegabile, una rapida ricerca su google portare a this thread su masm32.com che sembra fornire informazioni interessanti, e most notably:

"COMODO" Internet Security è il colpevole.
Sta modificando al volo gli eseguibili per implementare un "sanbox" parziale univoco.

+10

+1. I programmi antivirus non sono poi così diversi dai virus. –

+0

Lo fa? Grazie Dio! uomo ero così spaventato per un secondo: O pensavo di perdere tutti i miei dati (è successo prima ...) * disinstalla comodo * – Rick

1

L'indirizzo 71B00000 è abbastanza lontano dal tuo codice corrente, controlla se è effettivamente all'interno di un altro modulo caricato. Potrebbe anche essere un effetto collaterale dell'uso della macro invoke (o semplicemente dell'uso di DLL - poiché ExitProcess viene importato da una DLL). Prova cosa succede se lo sostituisci con un semplice ciclo infinito, es. JMP . o somesuch. Dovrai quindi uccidere il tuo programma manualmente, ovviamente, ma sarà un punto dati interessante. Inoltre, esamina il tuo file exe su disco per vedere se ha già il JMP all'inizio o meno.

+0

Assolutamente corretto che chiamata 'ExitProcess' dovrebbe iniziare a eseguire il codice in' ntdll.dll'. –

+0

Lo faremo e pubblicheremo tra un minuto, ma nel frattempo ho controllato gli altri file nella directory (anche ollydb) e ho trovato che olly aveva lo stesso salto a quell'indirizzo, nello stesso punto (indirizzo del punto di ingresso) Ho poi ricaricato olly in memoria e il debug olly mi ha avvertito che il codice potrebbe essere auto-mode, da quel poco che so di virus questo è piuttosto brutto no? – Rick