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 - Keyen Night

#171
Subelo a un Host más libre como SpeedyShare o mejor a SourceForge, quiero ver como funciona el IA yo hice uno hace tiempo también ;-)

Edito: Excelente el diseño, la música :laugh:, el código esta muy bueno también, el IA cubre todas las condiciones a mano pero se vería mejor recorrer los diagonales y lineas para  jugar donde haya peligro de perder. Por otra parte veo que tienes un buen sentido de la ubicación de lo que haces, son pocos los programadores, que le damos solución a un problema usando matemática.

Algunas recomendaciones al presionar D para reanudar verifica que la música este detenida, iniciar la música de fondo enseguida termine la presentación.
#172
Te recuerdo que yo no tengo la responsabilidad ni obligación de responderte, simplemente quiero que puedas resolver tu problema. No voy a pelear por si está mal o bien mi respuesta, simplemente te voy a dejar el proyecto corregido con todo lo de arriba y tu lo podrás ver si funciona o no, y es primera vez que haré esto por el solo hecho de que veas que funciona.

Los errores son los siguientes:

El Form1 llama al Form2 con ShowDialog, el Form1 solo espera por el resultado de Form2 para ser visible no puedes llamar Form1.Show desde Form2, en otras palabras tu no puedes ser padre de tu abuelo.

Nunca guardas My.Settings, antes de cerrar.

No es necesario una variable de tipo entero en la configuración si le vas a dar el valor 1 y 0 cuando existe Boolean.

Un error que no corregí pues debes arreglar gran parte del programa es el siguiente: Si hay contraseña, un Form la solicita; luego cuando estas en Form1 es como si no tuvieses contraseña asignada.

Algunas Recomendaciones: No es necesaria la configuración Pass2, simplemente debes verificar que Pass sea nulo para saber que no hay contraseñas asignadas.

#173
.NET (C#, VB.NET, ASP) / Captcha v3.0
3 Julio 2012, 04:27 AM
Siempre recuerdo este proyecto y le agrego algo nuevo además de mejorar la velocidad, el código también muestra mucho la parte de como Graphics puede controlar al 100% una imagen, al nivel de poder hacer lo que quieras.

Aquí están las versiones 1, 2 y 3 para que se note la diferencia

   


¿Que es lo nuevo?


  • Las lineas que interceptaban las letras ahora son curvas
  • Las letras ahora aparecen movidas y manchadas
  • La mortal mancha, para los OCR, que invierte el color en ReCaptcha, ahora esta en este proyecto
#174
Primero varias recomendaciones :D espero que no lo tomes a mal

Es Comprobar con 'b'
Selecciona con doble 'c'

Esto, lo puedes colocar en una sola línea
Código (vb.net) [Seleccionar]

                hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.Hidden
                hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.System
                hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.Encrypted
                hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.ReadOnly


Al asignar Encrypted, el archivo solo podrá ser abierto por el usuario que aplico la propiedad.

En vez de nombrar cada

Código (vb.net) [Seleccionar]
Control.Enabled = False

Puedes hacer

Código (vb.net) [Seleccionar]

For Each X As Control In Contenedor.Controls
     X.Enabled = False
Next


No hace falta decir

Código (vb.net) [Seleccionar]
If Condicion = True Then

End If


Puedes:

Código (vb.net) [Seleccionar]
If Condicion Then

End If


En los Textbox activa la propiedad UseSystemPasswordChar para que se muestren los clásicos asteriscos.

Ahora tu problema, en el Form2 al presionar Comprobar, dices Form1.Show cuando ya Form1 esta visible solo está en espera del resultado de Form2, osea debes hacer solamente Me.Close, además dices que en el Form2 cuando se lance el evento FormClosing dices End así que de cualquier forma, se cerrara el programa falles o aciertes la contraseña, yo colocaría Me.Close al presionar comprobar y en FormClosing comprobaría la contraseña si es incorrecta cancelo el cierre y si es correcta no hago nada pues se cerrara el Form2 y dará paso normalmente al Form1 .

Con respecto a guardar la contraseña en My.Settings, es demasiado débil, cualquier persona podría sacar la contraseña en 2 segundos. Si este programa es solo con fines de aprendizaje o de práctica entonces se puede obviar esta debilidad.
#175
Podrías colocar el código completo y usando las etiquetas?
#176
Esta bien hecho ;D, me gusta la iniciativa de que las personas practiquen sin necesidad de que sea una tarea o un proyecto que necesitan hacer. Un único detalle, si bien es cierto que Rijndael es un poderoso algoritmo de cifrado, que hasta ahora no tiene debilidades conocidas, realizar una mala practica lo debilita notablemente, me refiero al hecho de calcular el IV a partir de la Key, el IV no debe ser tomado como algo secreto ni como una segunda contraseña porque no lo es, deja que la clase Rijndael calcule el IV y guárdalo en el archivo, es más seguro y de mejor práctica. ;)

Un error, Si la contraseña no es correcta, igual se crea el archivo "descifrado" sin descifrar.
#177
No se entiende.
#178
Podrías compartir el código solo por curiosidad :silbar:
#179
Hacking / Re: hack tragamonedas?
24 Junio 2012, 03:24 AM
Todo lo que existe en ingeniería es Hackeable (permitanme esta palabra :xD). El"Azar" no existe para las maquinas, los Ing. de Software/Sistemas/Electrónica lo tenemos muy claro es solo una sensación de azar al unir muchas variables para generar un número pseudoaleatorio, No digas no se puede en ingeniería, pues han habido casos durante toda la historia de cosas que se creían imposibles, solo hacen falta un grupo de ingenieros con dinero y ocio :xD para solucionar el problema, que sea difícil es otra cosa, pero siempre estará allí la posibilidad. Que obviamente no saldrá la persona que lo descubra a divulgarlo el mismo día sin antes hacerse unos $$$ y luego venderle el error a la compañía jajajajajajaja

Han podido robarse información del Pentágono, y no van a poder hackear una simple maquina traga monedas? :xD :xD :xD
#180
Estoy diseñando una clase que guarda información en un archivo y utiliza DeflateStream como método de compresión, no hay casi información de como comprimir datos en forma de Bytes(), hay mucha documentación de ir directamente al trabajo con archivos, entonces diseñe esta función que al parecer funciona correctamente, pero se pierden algunos Bytes del final de la información comprimida y no encuentro el error por ningún lado, quizás es mal uso de DeflateStream.

Para probar la perdida de los datos hice esta prueba:

Código (vb.net) [Seleccionar]

Imports System.IO, System.IO.Compression, System.Text, System.Security.Cryptography

Module Module1

#Region " Algoritmo de DeCompresión Deflate "

   Public Function DeflateDeCompress(ByVal Data As Byte(), _
                                     ByVal Action As CompressionMode) As Byte()

       DeflateDeCompress = Nothing

       Dim ResultStream As MemoryStream = Nothing
       Dim DeCompresser As DeflateStream = Nothing
       Dim A As Integer, B As New List(Of Byte)

       Try

           If Action = CompressionMode.Compress Then
               ResultStream = New MemoryStream
               DeCompresser = New DeflateStream(ResultStream, CompressionMode.Compress)
               DeCompresser.Write(Data, 0, Data.Length)
               ResultStream.Position = 0
               DeflateDeCompress = ResultStream.ToArray
           Else
               ResultStream = New MemoryStream(Data)
               ResultStream.Position = 0
               DeCompresser = New DeflateStream(ResultStream, CompressionMode.Decompress)
               DeflateDeCompress = New Byte() {}

               DeCompresser.ReadByte() : A = DeCompresser.ReadByte

               While A <> -1
                   B.Add(CByte(A))
                   A = DeCompresser.ReadByte
               End While

               DeflateDeCompress = B.ToArray : B.Clear()

           End If

           If DeCompresser IsNot Nothing Then
               DeCompresser.Dispose()
           End If

           If ResultStream IsNot Nothing Then
               ResultStream.Dispose()
           End If

       Catch ex As Exception
           Return Nothing
       End Try

   End Function

#End Region

   Public Function MD5_String(ByVal Data As Byte()) As String

       Return BitConverter.ToString(MD5.Create.ComputeHash(Data)).Replace("-", "").ToLower

   End Function

   Sub Main()

       Dim x As String = "C:\ejemplo.txt"
        Dim y As Byte() = File.ReadAllBytes(x)
        Dim z As Byte() = DeflateDeCompress(y, CompressionMode.Compress)
        Dim a As Byte() = DeflateDeCompress(z, CompressionMode.Decompress)

        Console.WriteLine("Archivo de Entrada: {0}", x)
        Console.WriteLine("Tamaño de Entrada: {0} bytes", y.Length)
        Console.WriteLine("MD5-{0}", MD5_String(y))
        Console.WriteLine()
        Console.WriteLine("Tamaño Comprimido: {0} bytes ({1}%)", z.Length, Math.Round(z.Length / y.Length * 100 - 100, 2))
        Console.WriteLine("MD5-{0}", MD5_String(z))
        Console.WriteLine()
        Console.WriteLine("Tamaño Descomprimido: {0} bytes", a.Length)
        Console.WriteLine("MD5-{0}", MD5_String(a))
        Console.WriteLine()
        Console.WriteLine("Perdida de {0} bytes", y.Length - a.Length)

        Erase y, z, a

        Console.Read()

   End Sub

End Module


Gracias de antemano :)