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

#121
En explorador de soluciones->proyecto->configuración, puedes agregar campos de configuración y mediante código editarlos y guardarlos haciendo uso de My.Settings.

Tienes que tener en cuenta que siempre que un usuario final va a usar un programa que utiliza credenciales que deben ser secretas se presume que estos datos le pertenecen a ese usuario y por lo tanto no hay problema de que el tenga acceso a ellos. Si no es así no hay mucho que hacer porque siempre tendrán acceso al código de una u otra forma, puedes recurrir a cifrar los datos, pero cifrar conlleva usar una contraseña que igualmente debes almacenar en el equipo local, lo que te deja con el mismo problema, claro cifrando los datos estarías asumiendo protección por desconocimiento, quiero decir la persona que quiere obtener las credenciales no sabe que contiene el archivo, no sabe que lo que guardas es una contraseña para descifrar un archivo y tampoco sabe que el archivo está cifrado, pero al darse cuenta se pierde toda la protección ;)
#122
¿Quieres hacer un modulo para Crackear un Password?, si es así hay muchas formas más fáciles de hacerlo ;)

Haciendo uso de los valores ASCII y la longitud del Password puedes intentar todas las posibilidades, además una contraseña de números y letras minúsculas y mayúsculas de un Length = 8, por ejemplo, puede ser crackeada en menos de un día.

Si por el contrario intentas hacer una contraseña segura, puedes validarla por expresiones regulares, que contenga letras minúsculas, mayúsculas, números y símbolos en la proporción que desees.
#123
Windows comunica muchas cosas a las aplicaciones a través de mensajes, y estos se envían por medio del API SendMessage, esta API es extremadamente dinámica, quiero decir que posee múltiples funcionalidades, para definir que tipo de tarea queremos que SendMessage efectué, existe una lista gigantesca de constantes WM_XXX, que describen situaciones, para este caso tenemos WM_KEYDOWN, WM_KEYUP, WM_CHAR, enviar tecla que se presiona, enviar tecla que se suelta y el Char que se imprime, respectivamente. Una vez definida la constate WM a pasar a SendMessage, entonces enviamos los parámetros para el trabajo que esta a punto de efectuar la función, en el caso de enviar una tecla construí la función SendKey:
Código (c#) [Seleccionar]

       public static void SendKey(IntPtr WindowhWnd, Int32 key)
       {
           SendMessage(WindowhWnd, WindowMessage.WM_KEYDOWN, (int)key, 0);
           SendMessage(WindowhWnd, WindowMessage.WM_CHAR, (int)key, 0);
           SendMessage(WindowhWnd, WindowMessage.WM_KEYUP, (int)key, 0);
       }


El primer parámetro es el Handle (hWnd) de la ventana al cuál se va a enviar el mensaje, el siguiente parámetro es la constante WM, el tercer parámetro es el valor ASCII de la tecla a enviar, el último se omite para este trabajo.

SendMenssage, imita en la ventana lo que el usuario hace para presionar una tecla, primero la pulsa (WM_KEYDOWN) luego se imprime (WM_CHAR) y la suelta (WM_KEYUP).

Para capturar las teclas que se presionan fuera de tu aplicación tienes las dos opciones más usadas: el API GetAsynKeyState y el Hook de Teclado, que es mucho más limpio y organizado el trabajo. Acerca de esto hay mucha documentación tanto en el foro como en internet en general ;)
#124
El API SendMenssage, puede enviar pulsaciones de teclas a un handle correspondiente a una ventana especifica, usando los parámetros WM_KEYUP, WM_KEYCHAR y WM_KEYDOWN. Una vez realice una clase para ese propósito está en C# pero es fácilmente traducible a Vb.Net.

Código (c#) [Seleccionar]
   public sealed class Input
   
   {

     public enum WindowMessage : int
           {
               WM_KEYDOWN = 0x0100,
               WM_KEYUP = 0x0101,
               WM_CHAR = 0x0102,
               WM_LBUTTONDOWN = 0x201,
               WM_LBUTTONUP = 0x202
           }

       public static void SendKey(IntPtr WindowhWnd, Int32 key)
       {
           SendMessage(WindowhWnd, WindowMessage.WM_KEYDOWN, (int)key, 0);
           SendMessage(WindowhWnd, WindowMessage.WM_CHAR, (int)key, 0);
           SendMessage(WindowhWnd, WindowMessage.WM_KEYUP, (int)key, 0);
       }

       public static void SendClick(IntPtr WindowhWnd, int X, int Y)
       {
           SendMessage(WindowhWnd, WindowMessage.WM_LBUTTONUP, 0, 0);
           int lpara = MakeLParam(X, Y);
           SendMessage(WindowhWnd, WindowMessage.WM_LBUTTONDOWN, 0, lpara);
           SendMessage(WindowhWnd, .WindowMessage.WM_LBUTTONUP, 0, lpara);
           Thread.Sleep(25);
       }

       public static void SendString(IntPtr WindowhWnd, string String)
       {
           foreach (var x in String)
               SendKey(WindowhWnd, Convert.ToInt32(x));
           Thread.Sleep(3);
       }

       private static int MakeLParam(int LoWord, int HiWord) { return ((HiWord << 16) | (LoWord & 0xffff)); }
   }
#125
Pueden estar ocurriendo muchas cosas

Si los datos se guardan a partir de serialización de una clase personalizada para los idiomas, y el nuevo dll lo has serializado con otro programa distinto al que la usara, tendrás problemas ya que los nombres completos que se le asignan a la clase serializada no concuerdan con el nombre largo en la clase que intenta deserializar el archivo.

No creo que los archivos estén firmados digitalmente o pasen por una prueba de hash, pero es una posibilidad.
#126
Te estás complicando mucho tienes los eventos KeyPress, Down y Up de los TextBox que pueden modificar a tu antojo la entrada de datos así como cancelar la entrada de otros específicos.

Por ejemplo en el evento KeyPress puedes cancelar un carácter dándole el valor a e.KeyChar = Nothing.
#127
Muestra la parte del código, que toma y analiza las imágenes.

Debes tener en cuenta no declarar variables dentro de bucles, como dices destruir los recursos ya usados y también podrías agregar un Thread.Sleep de unos pocos milisegundos, de manera que puedas controlar las tomas por segundo, ya que sino el procesador se lanza el máximo trabajo que pueda dar ;)
#128
.NET (C#, VB.NET, ASP) / Re: Cambiar fuente de letras
25 Septiembre 2012, 04:00 AM
Seguramente esto te ayude ;) http://blogs.microsoft.co.il/blogs/pavely/archive/2009/07/23/changing-console-fonts.aspx

Pd: Jajajaja Muy bueno y original la forma de hacer la pregunta ;D
#129
Que tan complejo podría llegar a ser?
#130
&HX, es la forma de expresar números hexadecimales, osea en base 16 y no en base 10 como el sistema que usamos los humanos que comprende del 0-9; este comprende del 0-9 y sigue A-F; con la calculadora de Windows puedes hacer las conversiones que te convengan igual con el compilador también puede mostrarte el valor decimal...

El sub "Visualizar" expresa un número byte en forma binaria y "HaceAlgo" parece hacer algún tipo de conversión...

Aunque pierde un poco el sentido porque dice "Introduce un caracter unicode: " que es una codificación que soporta hasta 4 bytes por carácter y se está recibiendo el valor en un solo byte...