Autor
|
Tema: Bloquear programa en c# con password (Leído 37,460 veces)
|
Foxy Rider
Desconectado
Mensajes: 2.407
Deprecated
|
en el caso del while para ir leyendo tenés AppendChar en SecureString ... anyways, si el programa está comprimido, también se puede descomprimir (depende cómo esté comprimido claro, totalmente relativo a eso) ... la compresión se puede ver como una primera capa en lo que es cifrar, pero no como cifrado en sí xP Saludos, Alex~
|
|
|
En línea
|
|
|
|
Noskcire
Desconectado
Mensajes: 15
|
Hola Amigo.. En verdad soy nuevo Aqui.. pero me ha yamado la atencion esta pagina , pues ese mismo problema tengo .. quiero realizar un paswolrd protected en C#
pero mi problema no es ese sino es cuando el usuario intenta tres veces quiero que ese proceso se controle y salga un mensaje que diga:
"Lo Siento , tres intentos" Application.Exit();
Mira Mi Codigo:
solo tienen que poner dos textbox uno para usuario y uno para passwolrd
todo este codigo pertenece al evento del boton1 que es OK
private void button1_Click(object sender, EventArgs e) { string user = "erick"; string pass = "clave"; user = textBox1.Text; pass = textBox2.Text;
if (user == "erick" && pass == "clave") { //llamada al formulario numero 2 frm2.Show();
} else { MessageBox.Show("Clave/Usuario, Erroneo"); Application.Exit(); } //Aqui quiero que me controle las veces que el usuario intente //tres veces y salga con un mensaje: Lo siento, tres intentos //Ayuda por favor si alguien save!!! }
|
|
|
En línea
|
Las Intenciones Secretas son como aguas profundas per quien sabe descubrilas , es inteligente...
|
|
|
Pablo Videla
|
Hola Amigo.. En verdad soy nuevo Aqui.. pero me ha yamado la atencion esta pagina , pues ese mismo problema tengo .. quiero realizar un paswolrd protected en C#
pero mi problema no es ese sino es cuando el usuario intenta tres veces quiero que ese proceso se controle y salga un mensaje que diga:
"Lo Siento , tres intentos" Application.Exit();
Mira Mi Codigo:
solo tienen que poner dos textbox uno para usuario y uno para passwolrd
todo este codigo pertenece al evento del boton1 que es OK
int intentos =3; private void button1_Click(object sender, EventArgs e) { string user = "erick"; string pass = "clave"; user = textBox1.Text; pass = textBox2.Text; if (user == "erick" && pass == "clave") { //llamada al formulario numero 2 frm2.Show(); } else { intentos--; MessageBox.Show("Clave/Usuario, Erroneo"); if(intentos ==0) { MessageBox.show("Superaste la cantidad de intentos , chao"); Application.Exit(); } } //Aqui quiero que me controle las veces que el usuario intente //tres veces y salga con un mensaje: Lo siento, tres intentos //Ayuda por favor si alguien save!!! }
Eso deberia servirte , cualquier error me avisan
|
|
« Última modificación: 3 Marzo 2009, 23:48 pm por BadDevil »
|
En línea
|
|
|
|
Noskcire
Desconectado
Mensajes: 15
|
Hey eso fue super ese funcionamiento Gracias BadDevil en verdad me funcionó perfecto mi error era que declaraba la variable intentos dentro del evento del botom OK Estaré aqui compartiendo mis conocimientos tambien Gracias !!! Bye
|
|
|
En línea
|
Las Intenciones Secretas son como aguas profundas per quien sabe descubrilas , es inteligente...
|
|
|
Pablo Videla
|
Hey eso fue super ese funcionamiento Gracias BadDevil en verdad me funcionó perfecto mi error era que declaraba la variable intentos dentro del evento del botom OK Estaré aqui compartiendo mis conocimientos tambien Gracias !!! Bye Cuando hice el mio tambien tuve el mismo problemaj ajaja despues me di cuenta cometiendo errores se aprende , saludos
|
|
|
En línea
|
|
|
|
Noskcire
Desconectado
Mensajes: 15
|
Saludos..Y Gracias!!!!
|
|
|
En línea
|
Las Intenciones Secretas son como aguas profundas per quien sabe descubrilas , es inteligente...
|
|
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
Ten encuenta, que puede decompilarlo... Yo suplico ayuda... necesito por favor un tutorial de algun programa para compilar el codigo .net de un .exe mioo.. En fin.. Lo que te queria decir, es que no tienes que recordar el codigo... sino aprender la logica, y todo se acaba... No te recomiendo en lo absoluto hacer eso: string user = "erick"; string pass = "clave"; user = textBox1.Text; pass = textBox2.Text; Te pueden "leer" desde la ram los valores de las varibles... (si es que no estoy equivocado) Yo te recomiendo algo mas interesante: en las 2 varibles, escribes los valores cifrados y luego pides que se ingresen los datos.. Encriptas los datos ingresados, y comparas las 4 cadenas encriptadas... Si fueron encriptadas de la misma manera, (con el mismo key e IV), las cadenas encriptadas darán el mismo valor, y tendrá acceso.. Pero nunca sabran cual es el valor "base" de las variables para poder entrar... El problema es que tienes que guardar la KEY y la IV en 2 variables, pero tambien corres el riesgo de que te las lean desde la ram... AUNQUE.. si las guardas en un objeto (por ejemplo).. una vez que terminas de usarlas, le das al objeto un .Dispose, y se borran los valores Aunque siempre estarán escritos los valores en la clases... Pero si tienes bien ofuscado el codigo de tu -exe, no habrá problemas...
|
|
|
En línea
|
|
|
|
Pablo Videla
|
Ten encuenta, que puede decompilarlo... Yo suplico ayuda... necesito por favor un tutorial de algun programa para compilar el codigo .net de un .exe mioo.. En fin.. Lo que te queria decir, es que no tienes que recordar el codigo... sino aprender la logica, y todo se acaba... No te recomiendo en lo absoluto hacer eso: string user = "erick"; string pass = "clave"; user = textBox1.Text; pass = textBox2.Text; Te pueden "leer" desde la ram los valores de las varibles... (si es que no estoy equivocado) Yo te recomiendo algo mas interesante: en las 2 varibles, escribes los valores cifrados y luego pides que se ingresen los datos.. Encriptas los datos ingresados, y comparas las 4 cadenas encriptadas... Si fueron encriptadas de la misma manera, (con el mismo key e IV), las cadenas encriptadas darán el mismo valor, y tendrá acceso.. Pero nunca sabran cual es el valor "base" de las variables para poder entrar... El problema es que tienes que guardar la KEY y la IV en 2 variables, pero tambien corres el riesgo de que te las lean desde la ram... AUNQUE.. si las guardas en un objeto (por ejemplo).. una vez que terminas de usarlas, le das al objeto un .Dispose, y se borran los valores Aunque siempre estarán escritos los valores en la clases... Pero si tienes bien ofuscado el codigo de tu -exe, no habrá problemas... PEcompact2 se llama el programa con el cual comprimi mi exe y no pude descompilarlo
|
|
|
En línea
|
|
|
|
KJD
Desconectado
Mensajes: 314
|
Devido a que la plataforma .net es codigo nativo, cuando un crea el ejecutable, lo que crea es codigo intermedio, por lo que con cualquier decompilador puedes abtener el codigo fuente original del programa, y me refiero a todo el programa completo. Como decia un companiero por ahi, los demas lenguajes como c++ o delphi no se pueden decompilar, si ver el assmebler pero no el codigo con el que fue programado.
Cabe aclarar que por mas que quieras tu programa no sera 100% decompilable, ya que si no se puede obtrener el codigo fuente, puedes obtener el codigo intermrdio.
Lo mejor que puedes hacer es tratar de evitar que decompilen el codigo o hacercelo mas dificil. lo que uso yo es el Skater .NET Obfuscator , que ofusca el codigo he impide la decompilacion con herramientas como el Salamander o Reflector.
Espero que te sirva.
|
|
|
En línea
|
"Solo hay 10 tipos personas que saben leer binario, los que si y los que no"
"Keyboard not Found, press F1 To Continue" WTF???
|
|
|
Foxy Rider
Desconectado
Mensajes: 2.407
Deprecated
|
Devido a que la plataforma .net es codigo nativo, administrado o managed, como quieras .... pero no es nativo ... JIT Compile, te suena ? --- Si hablamos de compresión ... todo algoritmo de compresión tiene el de descompresión... por eso digo, la compresión no es encripción .... un buen debugger y al carajo todo ... por eso el PEOR ERROR es almacenar (donde fuese) contraseñas en plain text ... o algoritmos reversibles .... (dependiendo del caso) cabe aclarar que en algunos casos la ofuscación arruina la performance (en el caso de la compresión es obvio, hay que tenerlo en cuenta) como en otros puede mejorarla ... Anyways, si mal no recuerdo, con el Visual Studio viene el Dotfuscator =P Igual, hay miles, de todos los colores y sabores, basta fijarse aquíAlex~
|
|
|
En línea
|
|
|
|
|
|