Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: askrator en 7 Septiembre 2007, 13:40 pm



Título: Crear semiprograma
Publicado por: askrator en 7 Septiembre 2007, 13:40 pm
Wenassss estaba pensando el otro dia como se podria hacer algo como el boton de crear servidor de los troyanos pero con visual basic pero nada. Se me ocurrio crear un programa que se configurase con un archivo de texto y luego intentarlos juntar con un joiner, pero quisiera saber como se podria crear uno ya configurado al darle al boton para crearlo. He mirado algunos codigos fuente de programas que tienen esta funcion pero no lo entiendo  :-[ si alguien me pudiera inspirar un poco.

Un saludo.


Título: Re: Crear semiprograma
Publicado por: nhaalclkiemr en 7 Septiembre 2007, 14:39 pm
No he entendido nada...que quieres crear un joiner?


Título: Re: Crear semiprograma
Publicado por: Tyrz en 7 Septiembre 2007, 14:43 pm
(creo) que quiere hcer un programa que al darle click a un botón cree otro exe, no se si es eso pero bueno, yo hace tiempo estuve intentando hacer esto que digo (al darle click a un botón creara un exe con los datos que hayas puesto en el otro exe) pero no fui capaz si alguien sabe como hacerlo me interesaría mucho ya que acabe haciéndolo con un bat y no es lo mismo... saludos


Título: Re: Crear semiprograma
Publicado por: ~~ en 7 Septiembre 2007, 16:45 pm
No entiendo muy bien lo q kieres decir askrator.. pero si es lo q dice Hate esto es lo q buscas:
http://foro.elhacker.net/index.php/topic,171824.0.html


Título: Re: Crear semiprograma
Publicado por: Freeze. en 8 Septiembre 2007, 02:28 am
Eso es muy simple...

Simplemente te lees a ti mismo, y lo pegas todo en otro archivo.


Título: Re: Crear semiprograma
Publicado por: ranslsad en 8 Septiembre 2007, 06:28 am
Eso es muy simple...

Simplemente te lees a ti mismo, y lo pegas todo en otro archivo.

Si eso use yo cuando me entraba la curiosidad de como hacerlo :P
Buena respuesta, estas en todo Freeze :D

Salu2

Ranslsad


Título: Re: Crear semiprograma
Publicado por: askrator en 8 Septiembre 2007, 14:14 pm
Quiero hacer lo que dice HATE, pero no me explico muy bien la verdad  :-[

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

Citar
Simplemente te lees a ti mismo, y lo pegas todo en otro archivo.

A que te refieres con eso??

Creo que quiero ir demasiado lejos si veo que esto no lo entiendo mucho seguire leyendo y ya lo hare dentro de un tiempo.

Un saludo.


Título: Re: Crear semiprograma
Publicado por: nhaalclkiemr en 8 Septiembre 2007, 15:09 pm
Haber, los datos se escriben al final del .exe, puedes meter lo que quieras despues de un .exe que este no se estropea...entonces haces que el .exe se lea a si mismo, que lea los ultimos X bytes (puedes escribir un ultimo byte que tenga la longitud de los datos)...

Saludos ;)


Título: Re: Crear semiprograma
Publicado por: Freeze. en 9 Septiembre 2007, 19:00 pm
Usando la funcion Open.
Te lees a ti mismo. Te almacenas en una variable. Abres otro archivo. Introduces los datos y LISTO.

Te sirve?


Título: Re: Crear semiprograma
Publicado por: ..::[ thekingkid ]::.. en 9 Septiembre 2007, 21:36 pm
algo como open app.path app.exe name &".exe" for binary access read as #1 
y luego... como podeis posionarle en el ultimo byte ... y como saber cuando es el ultimo byte y luego como saber desde donde vas a empezar e leer???


saludos!!!


Título: Re: Crear semiprograma
Publicado por: Freeze. en 9 Septiembre 2007, 21:55 pm
Código
  1. Open App.Path & App.EXEName & ".exe" For Binary As #1
  2. Yo = Space(LOF(1))
  3. Get #1, , Yo
  4. Close #1
  5.  

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


Título: Re: Crear semiprograma
Publicado por: Tyrz en 10 Septiembre 2007, 02:49 am
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?


Título: Re: Crear semiprograma
Publicado por: ..::[ thekingkid ]::.. en 10 Septiembre 2007, 04:22 am
Citar
Open 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


Título: Re: Crear semiprograma
Publicado por: askrator en 10 Septiembre 2007, 15:26 pm
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.


Título: Re: Crear semiprograma
Publicado por: ~~ en 10 Septiembre 2007, 16:29 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
  1. ' Ruta Cliente -> C:\Cliente.exe
  2. ' Ruta Server -> C:\Server.exe
  3.  
  4. dim firma as string
  5. firma = "-_E0N_-"
  6.  
  7. Open "C:\Server.exe" For Binary As #1
  8. Dim Server as string
  9. server = Space(LOF(1))
  10. Get #1, , server
  11. Close #1
  12.  
  13. open "C:\cliente.exe" for binary as #1
  14. seek(1), lof(1)+1
  15. put #1, , firma & server  'Esta linea añade al final del cliente los datos del server y una firma, q es una
  16. 'cadena de texto ("-_E0N_-") para que luego sepas donde empiezan los datos del server y poder extraerlo.
  17. close #1
  18.  

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

Código
  1. Dim Yo As String, Partes As Variant, Server As String
  2. Dim Firma As String, SubFirma As String
  3.  
  4. Firma = "-_E0N_-"
  5.  
  6.  
  7. Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1 'Nos autoleemos
  8.    Yo = Space(LOF(1))
  9.    Get #1, , Yo
  10. Close #1
  11.  
  12. Partes = Split(Yo, Firma) ' Partimos el cliente por la firma. De esta manera
  13.                          ' Partes(0) será el cliente y Partes(1) el server.
  14.  
  15. Open "C:\ServerExtraido.exe" For Binary As #1
  16.    Put #1, , Partes(1)
  17. Close #1
  18.  
  19. msgbox "Server extraido =P"

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

Salu2


Título: Re: Crear semiprograma
Publicado por: askrator en 12 Septiembre 2007, 13:03 pm
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.


Título: Re: Crear semiprograma
Publicado por: ~~ en 12 Septiembre 2007, 13:36 pm
Citar
Por 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 ;)


Título: Re: Crear semiprograma
Publicado por: askrator en 15 Septiembre 2007, 12:47 pm
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:
Código:
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
  1. dim yo as string
  2. dim cadenaparapegar as string
  3. dim primera as string
  4. dim partes as variant ' las variables las he declarado asi antes
  5.  
  6. primera = "jahagafadasa" 'cadena con la que estan los dos programas separados, comprobado
  7.  
  8. cadenaparapegar = cadenaparapegar & Text2.Text
  9.  
  10. Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1
  11.    yo = Space(LOF(1))
  12. Close #1
  13.  
  14. partes = Split(yo, primera)
  15.  
  16. Open App.Path & "\" & Text1.Text & ".exe" For Binary As #1
  17.    Put #1, , partes(1) & cadenaparapegar
  18. Close #1
  19.  

He mirado y lo veo todo bien, donde fallo.

Un saludo.


Título: Re: Crear semiprograma
Publicado por: nhaalclkiemr en 15 Septiembre 2007, 14:39 pm
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 ;)


Título: Re: Crear semiprograma
Publicado por: ~~ en 15 Septiembre 2007, 17:55 pm
Yo veo un fallo aki:

Código
  1. Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1
  2.    yo = Space(LOF(1))
  3. Close #1
  4.  

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
  1. dim yo as string
  2. dim cadenaparapegar as string
  3. dim primera as string
  4. dim partes as variant ' las variables las he declarado asi antes
  5.  
  6. primera = "jahagafadasa" 'cadena con la que estan los dos programas separados, comprobado
  7.  
  8. cadenaparapegar = cadenaparapegar & Text2.Text
  9.  
  10. Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1
  11.    yo = Space(LOF(1))
  12.    get #1,,yo
  13. Close #1
  14.  
  15. partes = Split(yo, primera)
  16.  
  17. Open App.Path & "\" & Text1.Text & ".exe" For Binary As #1
  18.    Put #1, , partes(1) & cadenaparapegar
  19. Close #1

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

Código
  1. Open App.Path & "\" & Text1.Text & ".exe" For Binary As #1
  2.    Put #1, , partes(1) & cadenaparapegar
  3. 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
  1. Open App.Path & "\" & Text1.Text & ".exe" For Binary As #1
  2.    dim poner as string
  3.    poner = partes(1) & cadenaparapegar
  4.    Put #1, , poner
  5. Close #1

1S4ludo


Título: Re: Crear semiprograma
Publicado por: askrator en 18 Septiembre 2007, 20:26 pm
aiss nada lo he probado de mil formas y nada,  >:( voy a seguir cambiando lineas de codigo aver... Si consigo encontrar el problema ya posteare.

Un saludo y gracias.


Título: Re: Crear semiprograma
Publicado por: ~~ en 21 Septiembre 2007, 12:12 pm
Revisa mi source de ejemplo y mira las diferencias, a ver si encuentras el fallo.. por q por el source q has pegado no le veo pegas.. q error tienes ahora y en q linea te salta??


Título: Re: Crear semiprograma
Publicado por: askrator en 24 Septiembre 2007, 21:55 pm
La linea esque no lo puedo probar, necesito compilarlo y despues pegarle el otro programa...

Estoy mirando un poco el source y se me acaba de acurrir ahora mismo que en vez de abrirlo en binario lo puedo abrir de otra fora y a ver...

Ahora que ya he empezado todas las clases no me queda tiempo libre por las tardes pero ya ire cogiendo tiempo  ;), por eso he tardado tanto en responder.

Un saludo y gracias.


Título: Re: Crear semiprograma
Publicado por: ~~ en 26 Septiembre 2007, 11:55 am
Citar
La linea esque no lo puedo probar, necesito compilarlo y despues pegarle el otro programa...
Pon un msgbox detras de cada linea, y asi puedes saber en q linea falla... no se si me explico, tu pones una linea de code y a continuacion un msgbox q muestre un 1, luego un 2 y asi con todas. De esa manera cuando lo ejecutes puedes saber donde esta el fallo y corregirlo ;)


Título: Re: Crear semiprograma
Publicado por: askrator en 30 Septiembre 2007, 14:04 pm
Aqui esta el problema:

    Get #1, , yo

 alguien se le ocurre algun modo para coger la informacion que no sea get xq e buscado y no encuentro..

Siento contestar tan tarde pero no tengo tiempo...

Un saludo


Título: Re: Crear semiprograma
Publicado por: Freeze. en 30 Septiembre 2007, 16:43 pm
Código:
Yo = Input(LOF(1),#1)

;) ;) ;) ;) ;)

Pero recuerda que es mejor Get. Luego lo aprenderas :D


Título: Re: Crear semiprograma
Publicado por: askrator en 4 Octubre 2007, 15:35 pm
Bien esto ya esta solucionado jeje.

Ahora me da un error en el array  :xD pero de este ya me encargo yo  ;)

Muchas gracias x las respuestas y un saludo.