Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - xavierote

#21
La verdad es que no soy partidario de megaupload, simplemente es que es el único sitio donde sé que va a estar mínimo ¡2 años!
De todas formas si alguien me pudiera hacer el favor de subirlo a su página web o hacer un mirror en otro sitio lo agradecería.

¡Un saludo!
#22
Cita de: brache en 13 Mayo 2008, 20:50 PM
jaja man gracias este code si funciona pero si es para la 1 linea osea para carlos? como lo haria!:P

Pues para la primera línea simplemente cambiamos el valor de Separado(1) = "Cambiado" por Separado(0) = "Cambiado"

Los Arrays o Matrices en Visual Basic, y en todos los lenguajes de programación, los índices de las matrices empiezan por 0, así que la primera posición de la matriz es 0.

Otra cosa es que acabo de ver que hay un error en mi código. No es nada, pero de todas formas todo es por las prisas :P

Private Sub Command1_Click()
    If UBound(Separado) > 2 Then    'Podemos poner también UBound(Separado) >= 1
        MsgBox UBound(Separado)
        Separado(1) = "Cambiado"     'El índice de la matriz es 1 para la 2ª línea
    End If


¡Un saludo!
#23
A ver, no es avanzado ni nada.
Búscate un tutorial para usar el control Winsock en Visual Basic.

Es muy sencillo. Simplemente configuras el control para saber donde se tiene que conectar y a que puerto. Luego el servidor lo configuras para escuchar todo el tiempo las conexiones en un puerto. Cuando recibe alguna petición de conexión, simplemente inicia la comunicación, y ahí ya puedes enviar todo lo que quieras desde el cliente o desde el servidor.

No te desanimes y prueba. Al principio puede resultar lioso, como todo, pero a la larga verás que todo no es tan complicado como parece.

¡Saludos!
#24
En realidad si que se puede, además hay mucha información al respecto sobre winsock en el foro.
Y por si fuera poco, anoche posteé mis proyectos, el cual uno de ellos es eso mismo que pides.
http://foro.elhacker.net/programacion_vb/recopilacion_de_mis_codigos_fuentes_en_visual_basic-t212097.0.html

¡Parece ser que a la gente no le gustan mis proyectos!  :xD

EDITO: Si utilizas el módulo que posteó Slasher-K en http://foro.elhacker.net/programacion_vb/api_de_winsock_para_vb_completa-t62753.0.html  mejor, aunque el funcionamiento es el mismo que el del control WinSock, la diferencia está en que el servidor debe tener el control instalado en el sistema, mientras que el módulo utiliza las mismas API's de Windows.

¡Un saludo!
#25
Tengo unos módulos de clase que te hacen ese trabajito, es decir, hacer un handle al programa y acceder a su rango de memoria.

Lo conseguí hace tiempo en alguna página de gamehacking.
http://www.megaupload.com/?d=MZ3FZZIA


Te explico su uso:
Tienes que incluir en el proyecto los 3 archivos: modAPI.bas, ReadMem.cls y WriteMem.cls
Luego tienes que crear una instancia para esas clases de esta manera:
Dim ReadMemory As New clsReadMem
Dim WriteMemory As New clsWriteMem


Si los declaras en (General), mejor.
Por último, hacer las llamadas correspondientes utilizando sus funciones, como por ejemplo en un command button:
ReadMemory.TargetWindow = "Heroes 4"

Esto lo que hace es buscar el handle de la ventana que tiene como título "Heroes 4".
ReadMemory.ReadLong Direccion, ReadValue
txtRecursos.Text = ReadValue


ReadValue es una variable de tipo long, ya que estamos accediendo a la memoria con una longitud de tipo Long (4 bytes).
Direccion es una variable que contiene la dirección que queremos acceder en base diez, es decir, sistema decimal.

Y para escribir en la memoria lo mismo, pero accediendo a las funciones de la clase WriteMemory que hemos declarado.

Si no sabes que son las clases o como utilizarlas, busca más al respecto. Es la esencia de Visual Basic, programación orientada a objetos.

¡Un saludo!
#26
Yo ese trabajo lo haría de la siguiente manera:
    Abrimos el archivo y lo guardamos en una Matriz separado por líneas.
    Accedemos a la posición que queremos cambiar y lo hacemos.
    Guardamos el archivo.

Private Sub Command1_Click()
    Dim Texto       As String
    Dim Separado()  As String  'Array para separar el texto en lineas
    Dim foo         As Integer
    Dim i           As Integer
   
    foo = FreeFile
   
    Open "C:\archivo.txt" For Input As #foo  'Abrimos el archivo en modo lectura
        Texto = Input(LOF(foo), #foo)     'Obtenemos el contenido del archivo
    Close #foo
    Separado = Split(Texto, vbCrLf)    'Metemos en el Array el contenido del archivo separado por líneas
   
    'Cambiamos la línea que quieras, en este caso la segunda línea   
    If UBound(Separado) > 2 Then    'Miramos si la segunda línea existe
        Separado(2) = "Cambiado"     'Substituímos
    End If
   
    'Guardamos todo el contenido nuevo en el archivo
    Open "C:\archivo.txt" For Output As #foo
        For i = 0 To UBound(Separado)
            Print #foo, Separado(i)
        Next i
    Close #foo
   
End Sub


¡Un saludo!
#27
En realidad no es un bug, ni tampoco un fallo de seguridad, ya que necesitas de la contraseña para acceder al panel de control.

Pero si, por un descuido, se deja la sesión abierta, y es posible cambiar el correo sin petición de contraseña, es un fallo en el diseño por seguridad, pero no un bug ni nada por el estilo.

En realidad lo que has hecho es probar contraseñas hasta que diste con la correcta, ¿no es cierto?

¡Un saludo!
#28
Instala de nuevo el Visual Studio 2005 con la función reparar que trae la instalación, y si te sigue dando problemas, elimínalo y vuelve a instalarlo.

A ver si así se te soluciona el problema.
¡Un saludo!
#29
Mirando la sección de Visual Basic del foro, que por cierto hacía tiempo que no entraba, me ha dado por subir mis códigos fuente de programas que puedan, más o menos, resultar interesantes y, que he fui haciendo para aprender.

http://www.megaupload.com/es/?d=9OIT3BMU
Mirror: http://www.filefactory.com/file/1cae14

A continuación explico el contenido del .RAR y para qué hace cada proyecto:
Proyecto 1: Winsock
Este proyecto muestra como utilizar el control ActiveX Winsock para la comunicación entre cliente y servidor. Para la demostración simplemente hay 3 funciones: Conectar al servidor, Mandar un MsgBox al servidor y Cerrarlo.

Proyecto 2: Editor Resident Evil PC
Este fue mi primer proyecto completo en Visual Basic, pero lo modifiqué para ser publicado. Es un editor para partidas salvadas del videojuego Resident Evil 1 para PC, que me hice para uso propio.
Está poco documentado, pero demuestra el uso de la función "Open" en forma binaria y de manera optimizada.

Proyecto 3: cifra Texto
Es un simple algoritmo de cifrado que utiliza como base de cifrado del texto la ip que se introduce.
Simplemente utiliza una suma por cada byte.

Proyecto 4: Heroes IV
Si habéis jugado al videojuego Heroes IV, y también habéis utilizado los trucos, os acordaréis la de veces que había que insertar un mismo código para conseguir algo.
Pues este programa automatizaba ese proceso.

Para los que no habéis jugado a este juego, os explico que este programa lo que hace es escribir una cadena de caracteres repetidas veces utilizando el método SendKeys de Visual basic.
EDITO: Para utilizarlo, pulsar la tecla F9 cuando está el Cuadro de Texto Seleccionado.

Proyecto 5: BaNenKy's WordPad
Un WorPad como el de windows pero inacabado por dos razones:
    1- La función deshacer no funciona correctamente.
    2- El panel de opciones está por terminar.

Los menús de Archivo, Edición... tienen la apariencia como las del Office 2003.
Nota: La barra de menús es una implementación de otro autor.
No me doy a conocer como autor del control ActiveX. El resto del programa si que ha sido escrito por mí.

Proyecto 6: Proyecto GenExe
Este quizá, es el proyecto que más me gusta.
Su función es coger cualquier archivo, generalmente un ejecutable, y lo convierte a una función en un módulo, con el contenido en hexadecimal del archivo ejecutable dentro del módulo.
Así, lo único que hay que hacer para generar el ejecutable es llamar a la función GenerarExe("NombreArchivo.exe").
Claro que esto lo hice antes de que se me ocurriera que en el mismo ejecutable generado se puede juntar otro archivo.

Proyecto 7: Ventana con Skin
Este proyecto muestra cómo crear una ventana personalizada. Se puede incluir en el proyecto con poco código, incluso modificarlo a tu gusto. Tan sólo hay que copiar la matriz de controles que hay en el formulario, en el caso de un command button.


Lista de MODULOS que fuí creando o recopilando:
NOTA: Si el módulo es una clase, hay que tratarlo como un objeto y crear una instancia para él. Antes de usarlo, por ejemplo en un commando buton, creamos el objeto con:
Dim NuevoObjeto As New clsClase
clsClase.FuncionPublica()


En caso contrario, simplemente para utilizarlo hay que llamar a las funciones públicas.
BuscarTexto.bas - Una simple función que busca una cadena dentro de otra, y devuelve la posición.

CARPETA: ARCHIVOS
    modKillMe.bas - Cierra el programa que se ejecuta y lo elimina utilizando un bat creado por el programa.

CARPETA: cifrado
    Base64.bas - Funciones para el cifrado y descifrado de textos en BASE64.
    BlowfishCrypt.bas - Funciones para el cifrado y descifrado de textos mediante el algoritmo BlowFish
    cifrado Atbash.bas - Funciones para el cifrado y descifrado de textos con el algoritmo AtBash.
    MD5.bas - Función para la generación del hash MD5. Llamar a la función Hash = CalculateMD5("Texto") para utilizarlo.

CARPETA: Matematicas
    Calculadora.bas - Funciones matemáticas básicas para números muy largos. No he probado el máximo, pero más de 200 digitos seguro.
    CambioBase.bas - Convierte un número de cualquier base a cualquier base. Por ejemplo, de base 10 a base 16 o de base 10 a base 36.
    DNI.bas - Cálculo de la letra del DNI. Útil si estás programando un programa de contabilidad, y necesitas que te haga esta función.
    NumerosPrimos.bas - ¿Es el número introducido primo?

CARPETA: Windows
    Acciones con archivos.bas - Llamada a las API's de windows para COPIAR y BORRAR un archivo.
    clsScreenCapture.cls - Función que hace una llamada a las API's de windows y realiza una captura de pantalla para guardarla en un archivo de formato BMP.
    Editor Archivos INI.bas - Funciones para el control de los archivos INI.
    Editor Registro .bas - Funciones para el control del registro de windows mediante llamadas a las API's de windows.
    FormSiempreVisible.bas - Función para activar el primer plano de un formulario, para que de esta manera, siempre sea visible.
    IconSystemTray.bas - Funciones simples para el control de la barra de tareas de windows, e introducir un icono de tu programa en él.
    MenuBitmap.bas - Función para poner iconos en la barra de menús de tu formulario con solo 3 llamadas a las API's de windows.
    modProcesos.bas - Un módulo con funciones que hice hace tiempo para el control de los procesos. Obtiene la lista de los procesos que se están ejecutando actualmente y tienes la posibilidad de cargártelos con otra llamada a la API de windows.
    OverMousePicture.bas - Este módulo controla cuando el ratón está encima de cualquier control o PictureBox. (Utilizado en el Proyecto 7).
    PintarFormDegradado.bas - Mítica función para hacer un degradado como fondo en un formulario, tipo de los programas de instalación de hace varios años.

¡Un saludo! Y espero que os sea útil.
#30
¡Hola a todos! Os cuento mi pequeño reto que tengo entre yo y un servidor :P.
El caso es que he encontrado una página vulnerable a la Inyección SQL, el problema es muy gordo, y es que estoy bastante perdido con los comandos de este servidor.

Empiezo escribiendo por donde le entré:
programa.asp?NUMERO=48796543'%20AND%201=1

El valor de NUMERO es existente, pero me devolvió lo siguiente:
Microsoft JET Database Engine error '80040e14'

Syntax error in string in query epresionje '(((tabla.NUMERO) = '48796543' AND 1=1'))'.

programa.asp, line 214


Ahí me doy cuenta de los paréntesis. Están mal colocados. Por tanto prosigo a cambiarlos de lugar:
programa.asp?NUMERO=48796543'))%20AND%201=(('1

Y devuelve:
Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria epresionje.

programa.asp, line 214


Así también me da error, pero como en la primera consulta hemos conseguido la tabla y la columna a la que accede, intento obtener algún resultado:
programa.asp?NUMERO=48796543'))%20UNION%20SELECT%20*%20FROM%20tabla%20WHERE%20((NUMEROS='48796543%00

A mi entender, escribí esta consulta en la que debería de aparecer un valor verdadero si existe, ¿no?..... Pues no.... jeje:
Microsoft JET Database Engine error '80040e14'

The number of columns in the two selected tables or queries of a union query do not match.

programa.asp, line 214


En fin. He probado muchas consultas más, y estoy un poco harto. Empecé con mi servidor local y haciéndome prácticas de SQL Injection y Blind SQL Injection, y satisfactoriamente conseguido. Ahora con este, no se obtener tablas o si se pueden conseguir ficheros del servidor (tipo en el Blind SQL Injection con la base de datos MySQL)...

Espero que me echéis una manita...

¡Un saludo!