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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9
51  Programación / Programación Visual Basic / Re: Binder 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!!
52  Programación / Programación Visual Basic / Re: Binder 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
53  Programación / Programación Visual Basic / Re: Binder 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!!
54  Programación / Programación Visual Basic / Re: Colocar letras en: 3 Octubre 2005, 09:49 am
Yo lo que haría con tu parte que has programado, sería en vez de utilizar un montón de comparaciones, sería crear una variable y meter ahí el abecedario, para luego sacar las letras por la función mid$(). Por ejemplo:

Código:
Private Sub Command1_Click()
Dim Num As String
Dim Cuenta As Byte
Dim Abecedario as String

Abecedario = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"
Text1 = ""
Math.Randomize

Do While Not Cuenta = 26
    Num = Int(Rnd * 26)
    Cuenta = Cuenta + 1
    Num = Mid$(Abecedario, Num + 1, 1)        ' La posición empieza por el valor 1, y no 0, por tanto, como el RND genera valores de 0 a 26, se le suma 1.
    Text1 = Text1 & Num
Loop
End Sub

También se podría utilizar la función Chr() para sacar también una letra del abecedario al azar. Pero eso ya es cuestión de imaginación.

Saludos!!
55  Programación / Programación Visual Basic / Re: Ayuda! en: 7 Septiembre 2005, 01:03 am
Código:
Private Sub Command1_Click()
    text1.text = winsock1.localip
End Sub

Y si quieres que te salga delante http:// simplemente pon:
Código:
Private Sub Command1_Click()
    text1.text = "http://" & winsock1.localip
End Sub

NOTA: Si tu conexión es a través de LAN, por ejemplo un router, te saldrá la ip local, no la establecida por el proveedor.
56  Programación / Programación Visual Basic / Algoritmo de desencriptación de contraseñas para FileZilla Client en: 6 Septiembre 2005, 19:20 pm
Port del programa para descifrar contraseñas del cliente ftp FileZilla de C a Visual Basic.

Colocar el código en un módulo y llamar a la función:
Código:
obtenercontraseña = DesencriptarContraseña(Contaseña)

Ejemplo:
Código:
Text2.Text = DesencriptarContraseña(Text1.Text)
Código original:
http://www.securityfocus.com/data/vulnerabilities/exploits/FileZilla_pass.c

Código:
'****************************************************************
'*   modDecryptFZilla.bas                                       *
'*   descifra las contraseñas que se almacenan en:           *
'*      HKEY_CURRENT_USER\Software\FileZilla\Recent Servers\    *
'*   por el cliente FileZilla.                                  *
'*                                                              *
'*   La función digit2char convierte de 3 en 3 de ascii a char. *
'*   La función decrypt realiza los cálculos para descifrar  *
'*   cadena obtenida con digit2char.                            *
'*                                                              *
'*   Port de C a Visual Basic por xavierote (Javier Ferre)      *
'*   Código original por: Unknown Author                        *
'****************************************************************

Option Explicit

Dim password            As String

Private Function digit2char(buff As String) As Integer
    Dim ascii_buff          As String
    Dim i                   As Integer
    Dim j                   As Integer
    Dim longitud            As Integer
    Dim tmp_buffer          As Integer
   
    longitud = Len(buff) / 3                'longitud del password
   
    For i = 0 To Len(buff) - 1 Step 3
        tmp_buffer = Mid$(buff, i + 1, 3)   'obtiene los digitos de 3 en 3 para convertir a Char
       
        If tmp_buffer > 255 Then            'Si un valor es mayor de 255, da error
            MsgBox "La contraseña introducida no es correcta debido a que el valor obtenido, cada 3 digitos, es mayor de 255." & vbCrLf & "Valor obtenido: " & tmp_buffer, vbCritical, "Error"
            Exit Function
        End If
        ascii_buff = ascii_buff & Chr$(tmp_buffer)
    Next i
   
    password = ascii_buff
    digit2char = longitud
End Function

Private Function decrypt(buff As String) As Integer
    Dim i                   As Integer
    Dim pos                 As Integer
    Dim longitud            As Integer
    Dim buffer_final        As String
    Dim convirtiendo        As Integer
    Dim operando            As Integer
    Dim resultado           As Integer
    Dim m_key               As String
   
    m_key = "FILEZILLA1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   
    If (Len(buff) Mod 3) = 0 Then        'Si es múltiplo de 3, descifra
        longitud = digit2char(buff)      'A parte de convertir los números en cadena de texto, obtiene la longitud de la cadena resultante
        pos = longitud Mod Len(m_key)    'Obtiene la posición inicial para el m_key
       
        For i = 0 To longitud - 1        'Como empieza desde el 0, la longitud será uno menos
            convirtiendo = Asc(Mid$(password, i + 1, 1))      'Convierte el carácter actual en valor ascii para hacer los cálculos
            operando = Asc(Mid$(m_key, (i + 1 + pos) Mod Len(m_key), 1))     'Cálculos para la decodificación
            resultado = Int(convirtiendo Xor operando)        'Xor de las 2 variables anteriores.
           
            buffer_final = buffer_final & Chr$(resultado)     'Hallando todos los carácteres
        Next i
       
        password = buffer_final
        decrypt = longitud
       
    Else       'Si no es múltiplo de 3
        MsgBox "El password introducido no es correcto, debe ser múltiplo de 3", vbCritical, "Error"
        password = ""
    End If
End Function

Public Function DesencriptarContraseña(Pass As String) As String
decrypt Pass          'Llama a la función decrypt introduciendo el valor de la cadena Pass
DoEvents              'Espera a que se realicen los cálculos
DesencriptarContraseña = password    'Devuelve la contraseña descifrada
End Function

Saludos!!
57  Programación / Programación Visual Basic / Re: Módulos interesantes (manejo de ficheros, de texto, de gráficos.....) en: 3 Septiembre 2005, 02:17 am
YeIKoS, yo no te obligo a que utilices estos módulos. Más que nada los he puesto aquí porque yo lo que veo interesante es que por ejemplo, si no sabes utilizar las api's de windows, esto es un buenísimo ejemplo de como utilizarlas, y sobre todo interesante sobre el control de ficheros, en el que se incluyen casi todas las api's.
Ya se que con una sola línea de código se pueden borrar los archivos con el comando kill y más comandos de una sóla línea... pero lo que te dicho antes...
De todas formas, utilicé varios comandos del visual basic para el control de archivos cuando hice mi troyano y lo detectaba, con el escaneo heurístico, el McAfee 9.0 como un archivo que contiene comandos peligrosos. Solución: llamadas a unas cuantas api's y arreglado.

Saludos!
58  Programación / Programación Visual Basic / Módulos interesantes (los módulos comprimidos zip) en: 2 Septiembre 2005, 16:55 pm
Si a alguien le pasa como a reydelmundo11 que tiene problemas de visualización con el post: http://foro.elhacker.net/index.php/topic,84901.msg393541.html#msg393541, puede descargárselo de:

http://rapidshare.de/files/4643405/apis.zip.html

Dentro del archivo:
       - modAPI.bas (Imprescindible incluirlo, contiene todas las llamadas a las API's necesarias para los siguientes módulos)
       - modDraw_Base (Contiene funciones para el manejo de gráficos)
       - modMath_Color (Contiene funciones para el cambio de colores de visual basic, RGB, CMY...
       - modFileSystem (Contiene funciones para el manejo de archivos como copiar, borrar, crear carpetas, propiedades del archivo, comprobar si existe...)
       - modTextMan (Rutinas para el manejo de cadenas de texto)
59  Programación / Programación Visual Basic / Re: Módulos interesantes (manejo de ficheros, de texto, de gráficos.....) en: 2 Septiembre 2005, 16:31 pm
Este post incluía el código de modTextMan.bas, actualmente en el otro post.
60  Programación / Programación Visual Basic / Re: Módulos interesantes (manejo de ficheros, de texto, de gráficos.....) en: 2 Septiembre 2005, 16:29 pm
Este post incluía el código de modFileSystem.bas, actualmente en el otro post.
Páginas: 1 2 3 4 5 [6] 7 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines