2011-01-09 17 views
10

He encontrado algo muy extraño, y las cosas simplemente no suman. Antes que nada, publiqué esto aquí porque no estoy seguro de si esto tiene algo que ver con viruses de computadora en absoluto. Y si lo hace, ¿podría dirigirme a un lugar para buscar ayuda?¿Compilador infectado o mal funcionamiento?

Así que ahora:

estoy teniendo algún tipo de problema raro aquí, tanto mi Malwarebytes código de banderas anti-virus y * compilado con ejemplos y MASM MASM como un virus. Busqué en Google y descubrí que este problema ya había ocurrido antes, así que no me tomé esto demasiado en serio y al principio pensé que era un falso positivo.

Pero compilé el código que ves en la parte inferior de esta publicación para probar algunas otras cosas mías. Y yo pasé por OllyDbg (ignorando mientras tanto mi antivirus Comodo) y entonces vi esto:

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 

El código siguiente no podría compilar en ese salto, así que era entrar en el código. Y un rato después, vi que el extraño código comenzaba a enumerarse a través de una API en la biblioteca ntdll.dll. ¿Qué esta pasando? Si esto es realmente un virus, ¿dónde obtener ayuda?

Pero todavía no estoy seguro, tanto comodo y Malwarebytes flagg sólo los ejemplos como los virus, pero no el archivo (test.exe) como un virus

Código de ensayo que estaba usando para probar ...

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

actualización:

El código no está en el disco, pero en la memoria, por lo que es probable que una biblioteca de algún tipo de hacer esto:

Disassembly 

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

Y he eliminado el proceso de salida invocar y que sigue allí

Respuesta

9

En cuanto al salto inexplicable, una búsqueda rápida en Google plomo a this thread en masm32.com que parecen proporcionar información interesante, y most notably:

"cómodo" Internet Security es el culpable.
Está modificando ejecutables sobre la marcha para implementar un único "sanbox" parcial.

+10

+1. Las comprobaciones de virus no son tan diferentes de los virus. –

+0

¿Lo hace? ¡Gracias a Dios! hombre, estaba tan asustado por un segundo: O pensé que iba a perder todos mis datos (sucedió antes ...) * desinstala comodo * – Rick

1

La dirección 71B00000 está bastante alejada de su código actual, verifique si de hecho está dentro de algún otro módulo cargado. Incluso podría ser un efecto secundario de usar la macro invoke (o simplemente usar archivos DLL, ya que ExitProcess se importa desde una DLL). Pruebe lo que sucede si reemplaza eso con un bucle sin fin simple, es decir. JMP . o somesuch. Entonces tendrá que matar su programa manualmente, por supuesto, pero será un punto de datos interesante. Además, examine su archivo exe en el disco para ver si ya tiene el JMP al inicio o no.

+0

Absolutamente correcto que debe esperarse que la llamada 'ExitProcess' comience a ejecutar el código en' ntdll.dll'. –

+0

Lo haré, y publicar en un minuto, pero mientras tanto he comprobado los otros archivos en el directorio (también ollydb) y encontré que olly tenía el mismo salto a esa dirección, en el mismo lugar (dirección del punto de entrada) Luego volví a cargar en la memoria y la depuración olly me advirtió que el código podría ser autoconfigurable, por lo poco que sé de virus, esto es bastante malo, ¿no? – Rick

Cuestiones relacionadas