Ayuda para entender este virus

Iniciado por null2304, 12 Febrero 2011, 23:22 PM

0 Miembros y 1 Visitante están viendo este tema.

null2304

Bueno, he leído por toda la red y he revisado el foro.
Aún así no logro resolver mis dudas.
Verán, intento hacer un virus para archivos ELF, la idea es que no haga nada malo, simplemente se adhiera al final del host y deje un mensaje, un padding inocente
El asunto es que no hay encuentro documentación. En este foro alguien dejó hace un par de años un código que hace exactamente lo que deseo hacer (http://foro.elhacker.net/analisis_y_diseno_de_malware/virus_para_linux-t200087.0.html ), pero hay varias partes del mismo que no comprendo porque el autor no puso ni un comentario (al menos no en las partes "raras")
El problema es que el autor nunca volvió al foro y su mail ya ni existe. No comprendo lo que hizo.
Alguien me podría ayudar a explicar el funcionamiento del programa? o indicarme alguna guía que pueda guiarme para hacer exactamente un virus como ese?

Saludos y desde ya muchas gracias

YST



Yo le enseñe a Kayser a usar objetos en ASM

null2304

Perdón por no responder, creí que me llegaría un mail avisándome de las respuestas pero se ve que no.
Ahora leeré el archivo. Ya entendí casi todo el virus salvo un detalle. Leeré lo que me diste y cualquier cosa preguntaré

Saludos

Null

null2304

#3
Me qedan exactamente dos duas. La primera, no entiendo estas restas


mov eax, [ebp - 16]
sub eax, 0x2000000E
sub eax, [ebp - 24]
mov [ebp - 28], eax


caen por la linea 175 del código en la sección Unused_ph. Esperaba que reescriba la etiqueta Host por e entry point original pero la reemplaza por esa cuenta entry point original - 0x2000000E - tamaño del host en bytes
Si alguien lo entiende agradezco una indicación

Mi otra duda es más general. Si cambio o creo un program header table nuevo de p_type = 1 o sea de tipo LOAD. Como le digo al SO qué debe cargar allí. O sea, si creo un LOAD  nuevo, y mando al entry point a que apunte a una dirección que está ese nuevo segmento, carga el text segment ahí? (suponiendo que el espacio es suficiente)
Alguien sabe cómo funciona el asunto o dónde leer esos temas?

Saludos