elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Tutorial]Programando un Joiner simple desde 0.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Tutorial]Programando un Joiner simple desde 0.  (Leído 5,689 veces)
Freeze.


Desconectado Desconectado

Mensajes: 2.732



Ver Perfil WWW
[Tutorial]Programando un Joiner simple desde 0.
« en: 31 Agosto 2007, 22:57 pm »

Hola.

Este tutorial tiene como objetivo enseñar a hacer su porpio Joiner. Lo hice basandome en la primera version de mi Fire Joiner y bueno vamos a ver que les parece.

En este tutorial NO se enseñara a crear un Joiner con miles de utilidades tan solo tendra las de unir 2 archivos con cualquier extension.

Comenzemos:

En primer lugar les explicare basicamente como trabaja un Joiner:

Exe

1- Lee la dll o Stub
2- Lee los archivos a unir
3- Los separa por Firmas
4- Los guarda en un archivo final

Stub o Dll

1- Se lee a si mismo
2- Se divide a si mismo con la funcion Split con determinada firma
3- Guarda los 2 archivos en otro lugar
4- Los ejecuta con la api ShellExecuteA

Como ven es muy simple pero desde este momento les advierto que tienen que tener conocimientos sobre VB 6.0.


Explicare linea por linea el codigo del Ejecutable o Exe:

Código
  1. Open App.Path & "/nombre.dll" For Binary Access Read As #1
  2. Dll = Input(LOF(1), #1)
  3. Close #1
  4.  

- Abre la Dll
- La lee completa
- La cierra

Código
  1. Open text1.text For Binary Access Read As #1
  2. FI1 = Input(LOF(1), #1)
  3. Close #1
  4.  

- Abre el primer archivo a unir
- Lo lee completo y lo guarda en la variable FI1
- Lo cierra

Código
  1. Open text2.text For Binary Access Read As #1
  2. FI2 = Input(LOF(1), #1)
  3. Close #1
  4.  

- Abre el segundo archivo a unir
- Lo lee completo y lo guarda en la variable FI2
- Lo cierra

Código
  1. FI1c = StrReverse(FI1)
  2. FI2c = StrReverse(FI2)
  3. FI1d = Trim(FI1c)
  4. FI2d = Trim(FI2c)
  5. Ext1 = Ext(Text1.Text)
  6. Ext2 = Ext(Text2.Text)
  7. Name1 = Nam(Text1.Text)
  8. Name2 = Nam(Text2.Text)
  9.  
- cifra el primer archivo con la funcion StrReverse
- cifra el segundo archivo con la funcion StrReverse
- Le quita los espacios que sobran a los lados
- Le quita los espacios que sobran a los lados
- Saca la extension del primer archivo con la funcion Ext
- Saca la extension del segundo archivo con la funcion Ext
- Saca el nombre de el primer archivo con la funcion Nam
- Saca el nombre de el segundo archivo con la funcion Nam

Código
  1. Open "Tetx3.Text" For Output Access Write As #1
  2. Print #1, Dll & "Firma" & FI1d & "Firma" & FI2d & "Firma" & Ext1 & "Firma" & Ext2 & "Firma" & Name1 & "Firma" & Name2 & "Firma"
  3. Close #1
  4.  
- Abre el Archivo final
- Imprime todos los datos separados por firmas
- Cierra



Explicare linea por linea el codigo del Stub o Dll:

Código
  1. Private Declare Function ShellExecuteA Lib "SHELL32.DLL" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  2.  
- Declara la Api ShellExecuteA

Código
  1. Open App.Path & "\" & App.EXEName & ".exe" For Binary Access Read As #1
  2. Yo = Input(LOF(1), #1)
  3. Close #1
  4.  

- Se abre a si mismo
- Se lee a si mismo
- Se cierra

Código
  1. Yo2 = Split(Yo, "Firma")
  2. FI1 = StrReverse(Yo2(1))
  3. FI2 = StrReverse(Yo2(2))
  4. Xten1 = Yo2(3)
  5. Xten2 = Yo2(4)
  6. Nam1 = Yo2(5)
  7. Nam2 = Yo2(6)
  8.  

- Divide el archivo con la funcion Split usando las Firmas
- descifra el primer archivo y lo guarda en la variable FI1
- descifra el segundo archivo y lo guarda en la variable FI2
- Saca la Extension del primer archivo y la guarda en la variable Xten1
- Saca la Extension del segundo archivo y la guarda en la variable Xten2
- Saca el Nombre del primer archivo y la guarda en la variable Nam1
- Saca el Nombre del segundo archivo y la guarda en la variable Nam2

Código
  1. Open Environ("Temp") & "\" & Nam1 & "." & Xten1 For Output Access Write As #1
  2. Print #1, , FI1
  3. Close #1
  4. Open Environ("Temp") & "\" & Nam2 & "." & Xten2 For Output Access Write As #1
  5. Print #1, , FI2
  6. Close #1
  7.  

- Crea el primer archivo "Joineado"
- Imprime el primer archivo
- Cierra
- Crea el segundo archivo "Joineado"
- Imprime el segundo archivo
- Cierra

Código
  1. ShellExecuteA Me.hWnd, "Open", Environ("Temp") & "\" & Nam1 & "." & Xten1, vbNullString, vbNullString, 1
  2. ShellExecuteA Me.hWnd, "Open", Environ("Temp") & "\" & Nam2 & "." & Xten2, vbNullString, vbNullString, 1
  3.  

- Ejecuta el primer archivo
- Ejecuta el segundo archivo



Bueno y eso es todo..

Solo queda arreglar un poquito el code. Que por cierto no se los hare tambien. :xD

Y tendran su Joiner Listo.

Sin presumir mucho les digo que con este Tutorial, cualquiera con conocimientos minimos o medios de Visual Basic 6 puede crear su propio Joiner. Asi que aprovechenlo, que esta muy bueno. Claro tiene sus fallas y eso se va a ir mejorando.

Nota: Si lo van a pegar a otra parte por favor coloquen la fuente o el autor:

Freeze
foro.elhacker.net o http://freeze-web.com

Salu2..!! ;) ;) ;)


Editado 1/09/07 12:55 p.m.

Como todos los tutoriales tienen sus fallas y aqui algunas que nadie ha visto:

En alguna parte del Tutorial para sacar el Nombre de el Programa y la Extension de un archivo se utilizan 2 Funciones que son Nam y Ext, esas no estan prestablecidas tienen que agregarlas al codigo:

Ext:
Código
  1. Public Function Ext(ruta As String)
  2. FullName = Mid$(ruta, InStrRev(ruta, "\") + 1)
  3. Ext = Mid$(FullName, InStrRev(FullName, ".") + 1)
  4. End Function
  5.  

Ext:
Código
  1. Public Function Nam(ruta As String)
  2. FullName = Mid$(ruta, InStrRev(ruta, "\") + 1)
  3. Nam = Mid$(FullName, 1, InStrRev(FullName, ".") - 1)
  4. End Function
  5.  


Y ahora para que esten mucho mas claros en lo que estan haciendo les explicare algunas de las funciones que se utilizan:

Open:
Le dice al Visual Basic a que archivo debe acceder.

Input:
Funciona junto con Open e indica si quiere abrir el archivo.

LOF:
Lenght Of File. Significa Tamaño del Archivo. Sirve para sacar la longitud del archivo.

StrReverse:
Devuelve la cadena invertida.

Trim:
Devuelve una cadena sin espacios a los lados.

Split:
Sirve para delimitar y dividir en arrays una cadena.

Environ:
Devuelve una cadena la cual esta asociada con una variable del Sistema Operativo.


« Última modificación: 1 Septiembre 2007, 19:12 pm por -Freeze- » En línea

Freeze.


Desconectado Desconectado

Mensajes: 2.732



Ver Perfil WWW
Re: [Tutorial]Programando un Joiner simple desde 0.
« Respuesta #1 en: 1 Septiembre 2007, 06:34 am »

Oops..!

Todo lo que me esforze para hacer este tutorial (a mano) y luego para pasarlo aqui y pues nadie escribe... :xD

Salu2..!!


En línea

ranslsad


Desconectado Desconectado

Mensajes: 492


Dim Ranslsad as String * :P - Que Vicio!


Ver Perfil WWW
Re: [Tutorial]Programando un Joiner simple desde 0.
« Respuesta #2 en: 1 Septiembre 2007, 14:49 pm »

Muy bueno amigo, ahora no lo voy a probar porque ando con otras cosillas pero ta bueno ;)..
Are alguno con mi nombre para ayudar a los colegas... lo que deberias hacer es para "Desjoinear" xD es decir separar :D
Se Podra?

Salu2

Ranslsad
En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: [Tutorial]Programando un Joiner simple desde 0.
« Respuesta #3 en: 1 Septiembre 2007, 15:08 pm »

Yo tengo una dudilla ya que nunca me he interesado en esto de los joiners, pero alguna otra vez que he vsto sobre ellos a aparece el stubb...Haber si m entero:

Se compone de dos archivos, el EXE que es el joiner y despues el Stubb..vale, hasta aí perfecto, pero cuando haces la mezcla de dos archivo que quieras juntar, estos se convierten en el stub o se convierten a un tercer archivo?

Si se convierten en el stubb, se ha de tener una copia del stubb pa no perderlo, no?

Ahora que he visto el funcionamiento, quiza me anime uy program un joiner que junte hasta un maximo de unos cuantosd archivos..ya se me ha ocurrido un par de formas para programarlo.  ;D

Saludos.
En línea

Killtrojan Syslog v1.44: ENTRAR
invisible_hack


Desconectado Desconectado

Mensajes: 978


Invisible_Hack™ Nick Registrado ^^


Ver Perfil WWW
Re: [Tutorial]Programando un Joiner simple desde 0.
« Respuesta #4 en: 1 Septiembre 2007, 15:39 pm »

Jejeje que wapo esta el manual, buen trabajo Freeze :D

P.D. por cierto, esto que voy a decir no tiene que ver con el tutorial que se trata en este post, pero el banner animado que tienes en tu firma y que en teoria lleva a tu web pues cuando pincho sale un error, osea que no redirige bien a tu web, lo digo por si no estabas al tanto de eso... :rolleyes:

Saludetes!!
En línea

"Si no visitas mi blog, Chuck te dará una patada giratoria"
Freeze.


Desconectado Desconectado

Mensajes: 2.732



Ver Perfil WWW
Re: [Tutorial]Programando un Joiner simple desde 0.
« Respuesta #5 en: 1 Septiembre 2007, 18:22 pm »

Muy bueno amigo, ahora no lo voy a probar porque ando con otras cosillas pero ta bueno ;)..
Are alguno con mi nombre para ayudar a los colegas... lo que deberias hacer es para "Desjoinear" xD es decir separar :D
Se Podra?
Salu2
Ranslsad

Si te fijas bien y lees... Realmente el Joiner lo que hace es copiar esos archivos a otros lugares que no se vean y ejecutarlos desde el exe final

pero cuando haces la mezcla de dos archivo que quieras juntar, estos se convierten en el stub o se convierten a un tercer archivo?
En un Tercer Archivo. Simplemente los archivos son:
- 1er Archivo a juntar con extension cualquiera
- 2do Archivo a juntar con extension cualquiera
- Stub o Dll
- Joiner o Exe
- Archivo Final el cual es un exe que ejecuta los 2 primeros archivos

invisible_hack: Gracias... lo arreglare..!!
En línea

Red Mx
Rojito
Colaborador
***
Desconectado Desconectado

Mensajes: 3.649


Viva México Cabrones...


Ver Perfil WWW
Re: [Tutorial]Programando un Joiner simple desde 0.
« Respuesta #6 en: 1 Septiembre 2007, 18:27 pm »

 :D vaya muy bien explicado simple pero bien explicado para los que empiesan esta muy bien.

En línea

Desarrollar Malware Es Causa De Cancer...
papanoel_devacaciones


Desconectado Desconectado

Mensajes: 428


Ver Perfil
Re: [Tutorial]Programando un Joiner simple desde 0.
« Respuesta #7 en: 1 Septiembre 2007, 18:29 pm »

esta muy bien y todo ami me ha gustado...pero desde 0 ??



Saludos
En línea

invisible_hack


Desconectado Desconectado

Mensajes: 978


Invisible_Hack™ Nick Registrado ^^


Ver Perfil WWW
Re: [Tutorial]Programando un Joiner simple desde 0.
« Respuesta #8 en: 1 Septiembre 2007, 19:17 pm »

Bueno, acabo de volver a pinchar en tu banner y veo que ya lo has arreglado, ahora si que funka jeje ;D

Y respecto a tu Joiner, te molesta si lo pongo en mi foro para descargar? No te preocupes con lo de los derexos de autor, pondre claramente que fue hecho por ti aqui en Elhacker.net y todo no te preocupes...

¿Puedo? Eske no me gusta andar poniendo programas de otros en mi foro sin antes haber avisado a su creador...

Saludos, espero respuesta jeje
En línea

"Si no visitas mi blog, Chuck te dará una patada giratoria"
~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: [Tutorial]Programando un Joiner simple desde 0.
« Respuesta #9 en: 2 Septiembre 2007, 02:29 am »

Por pm invisible_hack please ;)

Yo tengo una dudilla ya que nunca me he interesado en esto de los joiners, pero alguna otra vez que he vsto sobre ellos a aparece el stubb...Haber si m entero:

Se compone de dos archivos, el EXE que es el joiner y despues el Stubb..vale, hasta aí perfecto, pero cuando haces la mezcla de dos archivo que quieras juntar, estos se convierten en el stub o se convierten a un tercer archivo?

Si se convierten en el stubb, se ha de tener una copia del stubb pa no perderlo, no?

Ahora que he visto el funcionamiento, quiza me anime uy program un joiner que junte hasta un maximo de unos cuantosd archivos..ya se me ha ocurrido un par de formas para programarlo.  ;D

Saludos.

Esos archivos se "pegan" al final del stub. Como tu dices lo mas lógico es hacer una copia del stub para no perderlo... aunke añadirlo como resource o joinearlo a tu propio joiner (al exe) keda mas elegante q camuflarlo como una dll..
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Tutorial]Crack Me 0.2 by Red Mx-Simple packer MEW 1.2
Ingeniería Inversa
.:UND3R:. 2 3,956 Último mensaje 1 Septiembre 2011, 11:47 am
por .:UND3R:.
Programando un juego en Java - Desde cero
Programación General
ComputerScienceSolutions 0 1,573 Último mensaje 19 Junio 2014, 14:05 pm
por ComputerScienceSolutions
[Tutorial] programando un cripter en VB6.
Análisis y Diseño de Malware
fary 1 3,765 Último mensaje 13 Marzo 2016, 22:33 pm
por crack81
Programando un motor 3D desde cero.
Programación C/C++
brakeza 0 1,062 Último mensaje 1 Enero 2019, 19:03 pm
por brakeza
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines