Crear semiprograma

Iniciado por askrator, 7 Septiembre 2007, 13:40 PM

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

Freeze.

Código (vb) [Seleccionar]

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


No te lo puedo hacer todo. Tienes que pensar. Es muy simple.!

Tyrz

es que no lo acabas de explicar tio, a mi al menos no me queda claro, como guardas la variable ? Es decir en tu ejemplo luego debería ir comprobando si existe la palabra "yo" o puede hacerse mas facil guardándolo como una variable que luego puedes utilizar?
Web dedicada por completo al surf. Hablamos de tablas de surf, videos de surf, fotos, juegos y mucha información sobre como aprender a surfear, spots famosos como mundaka, pipeline y zonas como vizcaya, surf españa, sopelana y mucho más. Trucos y peligros del surf. A que esperas? Entra en  Surf

..::[ thekingkid ]::..

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

ya estamos eso me trate de explicar... bueno de ahi... ya tenemos una copia de nosotros almacenado en la variable yo... bueno ahora abro otro  y lo le pongo la variable "yo" despues.... le escribo lo que yo quiera no?  y qui lo tenemos ya insertado... pero la pregunta era despues como identificar  despues mis datos que escribi  y tendria que saber en que posicion o byte acabo el exe y en que posicion escribi los datos no??? eso es lo que no he podido hacer o tal vez sera que tengo que ponerle un marcador para saber en donde empiezan los datos que me interesan????
salu2
just wanna try

askrator

Ammmm vale me empiezo a enterar, voy a hacer unos experimentos por mi propia cuenta haber como salen y si tengo problemas los posteare aqui.

Un saludo y gracias a todos.
ping -l 65510 127.0.0.1


~~

Cita de: askrator en  8 Septiembre 2007, 14:14 PM
Quiero hacer lo que dice HATE, pero no me explico muy bien la verdad  :-[

E0N tu programa no lo entiendo muy bien como haces para pasarle los datos a otro exe...

A ver, lo explico un poco... Lo q tienes q hacer es lo siguiente:

Necesitas dos programas, uno q seria en el q tu tienes q meter los datos necesarios (el cliente del troyano o lo q tu kieras) y otro q es el q tiene q meter esos datos.

Te lo explicare para hacer q el cliente y el server esten en el mismo ejecutable, q creo q es lo q kieres hacer no??

Lo primero es crear un programa independiente al troyano q leerá el server y añadirá sus datos al final del cliente (el q en mi ejemplo seria el juntador). El programa kerdaria asi:

Código (vb) [Seleccionar]

' Ruta Cliente -> C:\Cliente.exe
' Ruta Server -> C:\Server.exe

dim firma as string
firma = "-_E0N_-"

Open "C:\Server.exe" For Binary As #1
Dim Server as string
server = Space(LOF(1))
Get #1, , server
Close #1

open "C:\cliente.exe" for binary as #1
seek(1), lof(1)+1
put #1, , firma & server  'Esta linea añade al final del cliente los datos del server y una firma, q es una
'cadena de texto ("-_E0N_-") para que luego sepas donde empiezan los datos del server y poder extraerlo.
close #1


Ahora en tu cliente pones el botoncito ese de crear server y este code:

Código (vb) [Seleccionar]

Dim Yo As String, Partes As Variant, Server As String
Dim Firma As String, SubFirma As String

Firma = "-_E0N_-"


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

Partes = Split(Yo, Firma) ' Partimos el cliente por la firma. De esta manera
                          ' Partes(0) será el cliente y Partes(1) el server.

Open "C:\ServerExtraido.exe" For Binary As #1
    Put #1, , Partes(1)
Close #1

msgbox "Server extraido =P"


Ya esta, con eso conseguirias meter en un mismo ejecutable tu server y tu cliente ;)
Pruevalo y me cuentas

Salu2

askrator

Muxas gracias por tu explicacion EON, ahora lo entiendo todo perfecto me imagino que no tendre ningun problema  ;D, (espero vamos jeje).

Por cierto... se me a ocurrido que podria autocopiar el server al principio de algun archivo importante de windows (explorer.exe...) y luego que el server saque el explorer.exe lo ponga en algun sitio y luego lo ejecute para no levantar sospechas.

Voy a experimentar, primero con lo facil, y ya vere.

Por cierto no creo que sea el primero al que se le ocurra eso de copiarse delante de algun programa importante, ¿me equivoco?

Un saludo y muxas gracias a todos.
ping -l 65510 127.0.0.1


~~

CitarPor cierto no creo que sea el primero al que se le ocurra eso de copiarse delante de algun programa importante, ¿me equivoco?

Siento decirte q no  :xD Los virus mas simples funcionan asi ;)

askrator

#17
Me rindo no encuentro el error. Utilizo un juntador y lo separo por una firma 2 programas, hasta aqui todo va bien, utilizo un editor de texto y veo el codigo la firma y al final el codigo del 2 programa.

Pero al darle al boton que lo separa me sale un error:

Error '9' en tiempo de ejecucion:

El subindice esta fuera del intervalo.

Se me crea un programa pero al editarlo me sale el codigo vacio.

El error tiene que estar en una de estas lineas:

Código (vb) [Seleccionar]

dim yo as string
dim cadenaparapegar as string
dim primera as string
dim partes as variant ' las variables las he declarado asi antes

primera = "jahagafadasa" 'cadena con la que estan los dos programas separados, comprobado

cadenaparapegar = cadenaparapegar & Text2.Text

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

partes = Split(yo, primera)

Open App.Path & "\" & Text1.Text & ".exe" For Binary As #1
    Put #1, , partes(1) & cadenaparapegar
Close #1


He mirado y lo veo todo bien, donde fallo.

Un saludo.
ping -l 65510 127.0.0.1


nhaalclkiemr

Si le das a depurar te debería de aparecer la linea en la que seproduce el error  :P

El mismo error te lo dice, "El subindice está fuera del intervalo"...eso es que llamaste a una matriz con un Index que no existe...busca y aprende a usar el Debug de VB que es muy weno

Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

~~

Yo veo un fallo aki:

Código (vb) [Seleccionar]

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


Asi solamente defines el tamaño q tendra yo, pero no lo extraes.. tienes q poner un get ;)
El code completo seria asi:

Código (vb) [Seleccionar]
dim yo as string
dim cadenaparapegar as string
dim primera as string
dim partes as variant ' las variables las he declarado asi antes

primera = "jahagafadasa" 'cadena con la que estan los dos programas separados, comprobado

cadenaparapegar = cadenaparapegar & Text2.Text

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

partes = Split(yo, primera)

Open App.Path & "\" & Text1.Text & ".exe" For Binary As #1
    Put #1, , partes(1) & cadenaparapegar
Close #1


Prueva asi y si te da algun otro error pregunta  :P
Posiblemente esto tb te falle:

Código (vb) [Seleccionar]
Open App.Path & "\" & Text1.Text & ".exe" For Binary As #1
    Put #1, , partes(1) & cadenaparapegar
Close #1


A mi (no se por q) si uso put así me añade un par de bytes al principio del archivo, y lo deja inutil... si te pasa lo mismo haz esto:

Código (vb) [Seleccionar]
Open App.Path & "\" & Text1.Text & ".exe" For Binary As #1
    dim poner as string
    poner = partes(1) & cadenaparapegar
    Put #1, , poner
Close #1


1S4ludo