Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Thaorius en 3 Octubre 2005, 04:54 am



Título: Binder
Publicado por: Thaorius en 3 Octubre 2005, 04:54 am
Hola gente!

Bueno, llevo como 2 horas buscando el codigo fuente de un buen binder. Hasta ahora todos y si, dije todos al ejecutar el fichero me dice que es demasiado grande apra abrir en memoria. Aunque yo solo junte 2 archivitos minimos.

No saben de donde puedo bajar alguno bueno?(codigo fuente)

Lo quiero para combinar un archivo ini con un exe, o sea el server de mi troyano y sus opciones de configuracion.

Saludos


Título: Re: Binder
Publicado por: xavierote en 3 Octubre 2005, 10:15 am
Más limpio pero no más sencillo sería guardar la configuración de tu server en el mismo server. Me explico:
puedes guardar valores en el propio ejecutable siempre y cuando no modifique el archivo, es decir, al final del archivo. Luego, simplemente habría que leerlos con un
open "archivo" for binary as #1, por ejemplo.

Si no sabes como hacerlo, el troyano incompleto que hice que publiqué en el foro hace algún tiempo, en el servidor guarda los valores de configuración, como la ip y el puerto que se va a conectar con una conexión inversa.

Link de descarga:
http://dl1.rapidshare.de/files/3092209/41685679/Proyecto_BaNTRoJaN.rar

Saludos!!


Título: Re: Binder
Publicado por: Thaorius en 3 Octubre 2005, 15:19 pm
Thanks!

Ahoralo miro y te cuento.

Saludos


Título: Re: Binder
Publicado por: Thaorius en 3 Octubre 2005, 15:50 pm
Estoy veindo tu codigo, hasta ahora no le pillo la vuelta fuera de que el server no anda con el genredaor :P

Saludos


Título: Re: Binder
Publicado por: NYlOn en 3 Octubre 2005, 18:59 pm
Investiga que hay muchos posts q hablan sobre el tema... es facil cuando le agarras la mano ;)

un salud0

G0nz4


Título: Re: Binder
Publicado por: xavierote en 3 Octubre 2005, 20:03 pm
Si no te va el generador de server será porque no tienes el servidor compilado en la misma carpeta del cliente.

De todas formas, te pongo un ejemplo de como guardar y cargar variables de un ejecutable que te acabo de hacer.

Primero de todo tienes que crear en un formulario 3 cuadros de texto y 2 botones, uno para guardar y otro para cargar.
Para ver como funciona te recomiendo que utilices un editor hexadecimal una vez guardado el archivo.

NOTA: No utilices espacios, porque no lo he programado para que tenga espacios, aunque es fácil modificarlo.
También utiliza una ruta correcta, ya que lo que hará si no existe el archivo será crear uno nuevo.

Guardar variables:
Código:
Private Function GuardarVariables(NombreArchivo As String)
    Dim foo                 As Integer         'Número archivo
    Dim Texto1(99)          As String          'Reservamos 100 espacios para el Text1
    Dim Texto2(99)          As String          'Reservamos 100 espacios para el Text2
    Dim Texto3(99)          As String          'Reservamos 100 espacios para el Text3.
    Dim PosicionActual      As Long            'Variable que utilizaremos para saber cuál es la posición actual.
    Dim i                   As Integer
    
    foo = FreeFile                             'Proporciona un número de archivo libre.
    
    For i = 0 To Len(Text1)
        Texto1(i) = Mid$(Text1.Text, i + 1, 1)
    Next i
    
    For i = 0 To Len(Text2)
        Texto2(i) = Mid$(Text2.Text, i + 1, 1)
    Next i
    
    For i = 0 To Len(Text3)
        Texto3(i) = Mid$(Text3.Text, i + 1, 1)
    Next i
    
    Open NombreArchivo For Binary As #foo                   'Abre el archivo <NombreArchivo> para acceder en modo binario.
        PosicionActual = LOF(foo)                           'Obtiene el tamaño del archivo en bytes para obtener el primer byte vacío.
        
        For i = 0 To 99                                     '|
            PosicionActual = PosicionActual + 1             '| Posicion actual, cuando i = 0, obtiene el primer valor libre
            If Texto1(i) = "" Then                          '| Si la varible texto1 está vacía
                Put #foo, PosicionActual, 0                 '| Guarda en el archivo un valor 0
            Else                                            '|
                Put #foo, PosicionActual, Asc(Texto1(i))    '| Si no está vacía la variable guarda en valor ascii la letra del texto correspondiente.
            End If
        Next i
        
        'Se repite para la matriz Texto2
        For i = 0 To 99
            PosicionActual = PosicionActual + 1
            If Texto2(i) = "" Then
                Put #foo, PosicionActual, 0
            Else
                Put #foo, PosicionActual, Asc(Texto2(i))
            End If
        Next i
        
        'Se repite para la matriz Texto3
        For i = 0 To 99
            PosicionActual = PosicionActual + 1
            If Texto3(i) = "" Then
                Put #foo, PosicionActual, 0
            Else
                Put #foo, PosicionActual, Asc(Texto3(i))
            End If
            If i = 99 Then
                Stop
            End If
        Next i
    Close #foo
End Function

Cargar variables:
Código:
Private Function CargarVariables(NombreArchivo As String)
    Dim foo                 As Integer
    Dim Obteniendo          As Byte
    Dim Texto               As String
    Dim TamañoArchivo       As Long
    Dim PosicionActual      As Long
    Dim i                   As Integer
    
    foo = FreeFile
    
    Open NombreArchivo For Binary As #foo
        TamañoArchivo = LOF(foo)
        PosicionActual = TamañoArchivo - 300               'Se le resta 300 al tamaño del archivo por ser el resultado de la suma de los espacios reservados anteriormente
        
        For i = 0 To 99
            Get #foo, PosicionActual, Obteniendo
            If Obteniendo <> 0 Then
                Texto = Texto & Chr$(Obteniendo)
                PosicionActual = PosicionActual + 1
            Else
                PosicionActual = PosicionActual + (100 - Len(Texto))
                Exit For
            End If
        Next i
        
        Text1.Text = Texto
        Texto = ""
        
        For i = 0 To 99
            Get #foo, PosicionActual, Obteniendo
            If Obteniendo <> 0 Then
                Texto = Texto & Chr$(Obteniendo)
                PosicionActual = PosicionActual + 1
            Else
                PosicionActual = PosicionActual + (100 - Len(Texto))
                Exit For
            End If
        Next i
        
        Text2.Text = Texto
        Texto = ""
        
        For i = 0 To 99
            Get #foo, PosicionActual, Obteniendo
            If Obteniendo <> 0 Then
                Texto = Texto & Chr$(Obteniendo)
                PosicionActual = PosicionActual + 1
            Else
                Exit For
            End If
        Next i
        
        Text3.Text = Texto
    Close #foo
End Function

Botones:
Código:
Private Sub Command1_Click()
    GuardarVariables "archivo.exe"
End Sub
Código:
Private Sub Command2_Click()
    CargarVariables "archivo.exe"
End Sub


Título: Re: Binder
Publicado por: la caca en 3 Octubre 2005, 22:09 pm
el ejemplo que dieron anteriormente es para cargar variables, datos de cualquier formato de archivo (en el ejemplo *.exe-->archivo.exe), bueno el ejemplo que te traigo es para cargar datos de un archivo *.ini, que carga los datos teniendo en cuenta los [] bueno leelo:


Código:
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

'Leer en "Ejemplo.Ini":
Private Sub Form_Load()
    Dim I As Integer
    Dim Est As String
    Est = String$(50, " ")
    I = GetPrivateProfileString("Ejemplo", "Nombre", "", Est, Len(Est), "Ejemplo.ini")
    If I > 0 Then
        MsgBox "Tu Nombre es: " & Est
    End If
End Sub
'Escribir en "Prueba.Ini":
Private Sub Form_Unload(Cancel As Integer)
    Dim I As Integer
    Dim Est As String
    Est = "Ejemplo - Apartado"
    I = WritePrivateProfileString("Ejemplo", "Nombre", Est, "Ejemplo.ini")
End Sub



chau, le podes agregar todas las variables que quieras


Título: Re: Binder
Publicado por: NYlOn en 3 Octubre 2005, 22:29 pm
Usa las etiquetas de codigo (http://foro.elhacker.net/Themes/default/images/bbc/code.gif) para insertar un codigo... sino no se entiende un ch*** xDDD

salu2


Título: Re: Binder
Publicado por: xavierote en 3 Octubre 2005, 22:39 pm
El caso es que M@rT1n sabe perfectamente como guardar la configuración en un ini, por eso pide un binder. Pero yo le he dado otra opción más limpia, ya que no necesita una utilidad externa para guardar la configuración en el propio ejecutable.
Aunque no siempre está de más recordar funciones útiles para los que no las conozcan.

Saludos!!


Título: Re: Binder
Publicado por: Thaorius en 3 Octubre 2005, 23:19 pm
Weno, gracias. Lo pruebo.

Respecto a los INI's, si tengo un modul ocon muchas funciones para trabajar con ellos.

Saludos


Título: Re: Binder
Publicado por: la caca en 7 Octubre 2005, 18:56 pm
bueno pero no se enojen (chavo) jajaj

y como es eso para poner el codigo???

#hola

chau


Título: Re: Binder
Publicado por: NYlOn en 8 Octubre 2005, 02:18 am
bueno pero no se enojen (chavo) jajaj

y como es eso para poner el codigo???

#hola

chau

[ code]
'tu codigo (sin los espacios del principio)
[ /code]