Mi duda principal es ¿Por qué casi todos los manuales de programación de virus utilizan el ensamblador? ¿Qué beneficios tiene?
Hoy en dia no se utiliza tanto asm para hacer malware como antes.
Asm proporciona archivos con menos pesos, mas rapidos en ejecucion y mayor contacto con el hardware.
No sé si se me escapa algo, pero si programo en c un servidor que escuche en cierto puerto (usando sockets) , le doy ciertos servicios y lo oculto en otro fichero para que se ejecute el servidor cuando ejecuten el "fichero gancho" ¿Es un troyano, o me he perdido algo? ¿Es detectable por los antivirus?
Tendras un servidor a la escucha...pero si no tienes un cliente, de que te sirve?
Cuando dejas algo a la escucha, ya sea el servidor de un troyano o por ejemplo, el netcat, estos deben recibir ordenes para saber lo que tienen que hacer.
Si no quieres tener que mandarle la informacion, puedes programarlo para que el lo haga solito, pero claro, tienes que tener algo mas claro la funcion que va a realizar.
Y sera detectable si usas ciertos procedimientos que los antivirus pueden detectarlo con su heuristica.
Usa apis, nunca VBS (si por algun casual tuvieras pensado hacerlo para algo) y tambien puedes probar cifrando cadenas.
Te dejo un codigo de esto ultimo en visual basic, te sera facil ver como funciona y poder pasarlo a C. Si no mal recuerdo, el codigo es de Hendrix.
cifrar.
Public Function q(j)
On Error Resume Next
For R = 1 To Len(j)
q = q & Chr(Asc(Mid(j, R, 1)) + 14)
Next
End Function
Public Function des(p)
On Error Resume Next
For R = 1 To Len(p)
des = des & Chr(Asc(Mid(p, R, 1)) - 14)
Next
End Function
Private Sub Command1_Click()
Text2.Text = q(Text1.Text)
Text1.Text = ""
End Sub
Private Sub Command2_Click()
Text1.Text = des(Text2.Text)
Text2.Text = ""
End Sub
Private Sub Command3_Click()
End
End Sub
descifrar.
Public Function des(p)
On Error Resume Next
For R = 1 To Len(p)
des = des & Chr(Asc(Mid(p, R, 1)) - 14)
Next
End Function
Si no sabes muy bien como va, pregunta.
Un saludo