Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Pablo Videla en 25 Febrero 2009, 18:19 pm



Título: Bloquear programa en c# con password
Publicado por: Pablo Videla en 25 Febrero 2009, 18:19 pm
Una duda compañeros , necesito negar el acceso al programa atravez de una contraseña , sin usuario ni nada , es como una palabra clave , onda por ejemplo , si la password es hola , que se carge el form , si no , entonces que desactive todos los botones y los textbox , no puedo poner codigo , pero si me orientan un poquito quedaria feliz , gracias de ante mano  ;D


Código
  1. private void Form1_Load(object sender, EventArgs e)
  2.        {
  3.            String palabra = "hola";
  4.            if (palabra == "hola")
  5.            {
  6.                MessageBox.Show("Programa cargado correctamente");
  7.            }
  8.            else
  9.            {
  10.                MessageBox.Show("Progama bloqueado Ingrese password");
  11.                Application.Exit();
  12.            }
  13.        }
  14.  
  15.  
  16.  
algo así estoy haciendo , es una prueba pero estoy trabajando en ello , diganme ideas y las leo gracias :D
---

hay una forma que se abra un textbox para ingresar la clave?

---

se me ocurrio otra idea :D , luego les cuento  :P
lo hice , gracias por su lectura  ;D

---

a todo esto me pueden crackear el programa para ver la cadena de password , no esta protegida ni nada  :xD


Título: Re: Bloquear programa en c# con password
Publicado por: CrÄsH en 25 Febrero 2009, 21:46 pm
Hay varias formas y maneras de hacer esto k kieres, aki tienes una:

Con esto tienes un formulari con textbox y un boton para validar, escribes la password en el textbox y si es correcta los botones apareceran, de lo contrario, ara un exit.
Código:
        public Form1()
        {
            InitializeComponent();
            button1.Visible = false;
            button2.Visible = false;
        }
        private void button_validar_Click(object sender, EventArgs e)
        {
            if (textBox2_pass.Text == "onda")
            {
                MessageBox.Show("Programa cargado correctamente", "Atencion!");
                button1.Visible = true;
                button2.Visible = true;

            }
            else
            {
                MessageBox.Show("Progama bloqueado Ingrese password");
                this.Close();
            }
        }


Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 25 Febrero 2009, 21:51 pm
Ya lo he hecho muchas gracias pero ahora otra cosa , me descompile mi propio exe y veo que estoy mas vulnerable que la %&$%&/.... xD la cosa es , como puedo cifrar mi codigo y que funcione correctamente , tenemos que considerar que quiero encriptarlo completo  :huh: ... gracias de antemano


Título: Re: Bloquear programa en c# con password
Publicado por: CrÄsH en 25 Febrero 2009, 21:56 pm
No tengo ni idea, con k te puede crackear el exe??


Título: Re: Bloquear programa en c# con password
Publicado por: Hadess_inf en 26 Febrero 2009, 00:27 am
Implementa alguna funcion con algun algoritmo de encriptacion.
Saludos.

 :xD


Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 26 Febrero 2009, 00:58 am
Implementa alguna funcion con algun algoritmo de encriptacion.
Saludos.

 :xD

Pero la idea es cifrar todo el programa , no una funcion especifica , no quiero que lo descompilen ya lo hice y se vee todo los metodos  :xD


Título: Re: Bloquear programa en c# con password
Publicado por: Hadess_inf en 26 Febrero 2009, 01:07 am
Hasta donde yo se es imposible descompilar un programa compilado .. quizas el error que estas cometiendo esta en que estas incluyendo los archivos de codigo con tu Instalador ( cosa que nunca se debe de hacer )


Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 26 Febrero 2009, 02:50 am
Hasta donde yo se es imposible descompilar un programa compilado .. quizas el error que estas cometiendo esta en que estas incluyendo los archivos de codigo con tu Instalador ( cosa que nunca se debe de hacer )

Pues no sabes lo que ignoras xD , si es posible descompilar un ejecutable , usa Dis# , pero ya arregle el problema  , saludos  ;D


Título: Re: Bloquear programa en c# con password
Publicado por: Hadess_inf en 26 Febrero 2009, 03:14 am
Citar
Que yo sepa es IMPOSIBLE. El hexadecimal lo puedes sacar, pero el codigo original No.

Tanto han cambiado las cosas que ahora un exe se puede descompilar ¿? .. POdrias poner algun ejemplo porque sigo pensando que es imposible .. imagfinate si eso se pudiera hacer todo lo que se podria hacer al windows o a cualquier otro software propietario.


Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 26 Febrero 2009, 03:18 am
Es posible busca DisSharp , saludos , en c# es posible  :xD


Título: Re: Bloquear programa en c# con password
Publicado por: MANULOMM en 26 Febrero 2009, 14:48 pm
en .net si es posible decompilar, y no es un metodo extraño se puede lograr con reflection, ya hay varios programas que lo hacen, la logica no es exactamente la misma pero de que lo hace lo hace... tambien esta talvez el mas conocido de todos el Reflector de netGates que es gratuito... tb esta el SilverLigth Spy que utiliza el reflector que decompilar aplicaciones silverligth 2.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


Título: Re: Bloquear programa en c# con password
Publicado por: Hadess_inf en 26 Febrero 2009, 15:32 pm
Pues que asco .. una razon mas para dejar de usar platarma NET.

 >:( >:( >:( >:( >:(


Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 26 Febrero 2009, 18:17 pm
Pues que asco .. una razon mas para dejar de usar platarma NET.

 >:( >:( >:( >:( >:(

Pues yo lo acabo de comprimir el ejecutable y es imposible decompilarlo por el programa , no he probao con otros :P , pero viste que tenia razon?  ;D


Título: Re: Bloquear programa en c# con password
Publicado por: isseu en 28 Febrero 2009, 14:55 pm
compara la constraseña dada con un hash en md5, es decir

-la clave hola cifrada es 545 (ej)
-lo que ellos den en el textbox lo encriptas en md5
-si son iguales, significa que puso hola


Título: Re: Bloquear programa en c# con password
Publicado por: craliaga en 3 Marzo 2009, 15:13 pm
Lo que me parece incrible :o es que una persona que pide ayuda para poner una clave en un formulario y con código quemado en el siguiente post nos sorprenda con temas tan "avanzados" como el de descompilacion de código.
De todas maneras algo básico podria ser utilizar Dotfuscator u otras herramientas de proteccion.
La estrategia de proteccion contra la "vulnerabilidad" que se menciona seria tener el pwd almacenado en otro lugar y no el EXE, y utilizar metodos como el MD5 que ya se han comentado.
Finalmente si podria llegar a descompilarse el programa, y llegar a modificar su comportamiento, pero ante esto hay metodos mas "esotericos" de proteccion de programas, pero aqui se debe diferenciar que es lo que se quiere proteger, el programa o los datos que maneja.
Ante todo un paso a la vez... primero gateamos luego corremos (aunque a veces nos caemos  ;D )


Título: Re: Bloquear programa en c# con password
Publicado por: Novlucker en 3 Marzo 2009, 15:20 pm
Pues yo lo acabo de comprimir el ejecutable y es imposible decompilarlo por el programa , no he probao con otros :P , pero viste que tenia razon?  ;D

Eso, la solución es comprimir el ejecutable, ya que al hacerlo se genera uno nuevo y en el proceso hay cambios que seguramente el decompilador no pueda manejar  :P

Saludos


Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 3 Marzo 2009, 20:13 pm
Lo que me parece incrible :o es que una persona que pide ayuda para poner una clave en un formulario y con código quemado en el siguiente post nos sorprenda con temas tan "avanzados" como el de descompilacion de código.
De todas maneras algo básico podria ser utilizar Dotfuscator u otras herramientas de proteccion.
La estrategia de proteccion contra la "vulnerabilidad" que se menciona seria tener el pwd almacenado en otro lugar y no el EXE, y utilizar metodos como el MD5 que ya se han comentado.
Finalmente si podria llegar a descompilarse el programa, y llegar a modificar su comportamiento, pero ante esto hay metodos mas "esotericos" de proteccion de programas, pero aqui se debe diferenciar que es lo que se quiere proteger, el programa o los datos que maneja.
Ante todo un paso a la vez... primero gateamos luego corremos (aunque a veces nos caemos  ;D )

De hecho ya comprimi mi exe y no se puede descompilar con el programa que lo habia hecho , y le puse el login que buscara un user y pass de una base de datos , así que ahora me siento mas seguro... y la unica forma de sniffear mi programa seria ingresar el login con la password... y  mientras no se haga eso  , el programa queda inservible   ;D


Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 3 Marzo 2009, 20:15 pm
eliminar este post , por alguna razon hizo doble post.... no fue mi culpa  :silbar:


Título: Re: Bloquear programa en c# con password
Publicado por: Foxy Rider en 3 Marzo 2009, 22:27 pm
te dejo un link a un post similar : https://foro.elhacker.net/net/como_elimino_de_la_ram_un_valor-t246895.0.html

al approach de comparar "tal" con lo ingresado no es muy seguro que digamos  :rolleyes:

deberías usar como dijeron, una función criptográfica ;P
no voy a repetir, lo que ya está en el post que te dejé arriba =D

Saludos, Alex~


Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 3 Marzo 2009, 22:32 pm
Es que mi programa usa un while , mientras no lea la password real no se puede hacer nada... tendrian que adivinar mi clave,  y somos pocos lo que usamos el programa y no esta propagado por ahi , asi que me siento seguro y el programa esta comprimido asi que no se =P .... tiene que ser alguien que se dedique a tratar de vulnerarme y no veo nadie asi , solo eran medidas de precaucion  :rolleyes:


Título: Re: Bloquear programa en c# con password
Publicado por: Foxy Rider en 3 Marzo 2009, 22:47 pm
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~


Título: Re: Bloquear programa en c# con password
Publicado por: Noskcire en 3 Marzo 2009, 23:42 pm
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!!!
        }



Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 3 Marzo 2009, 23:45 pm
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





Código
  1. int intentos =3;
  2. private void button1_Click(object sender, EventArgs e)
  3.  
  4.        {
  5.  
  6.            string user = "erick";
  7.            string pass = "clave";
  8.            user = textBox1.Text;
  9.            pass = textBox2.Text;
  10.  
  11.  
  12.            if (user == "erick" && pass == "clave")
  13.            {
  14.                //llamada al formulario numero 2
  15.                frm2.Show();
  16.  
  17.            }
  18.            else
  19.            {
  20. intentos--;
  21. MessageBox.Show("Clave/Usuario, Erroneo");
  22.               if(intentos ==0)
  23. {
  24.                MessageBox.show("Superaste la cantidad de intentos , chao");
  25.                Application.Exit();
  26. }
  27.            }
  28.              //Aqui quiero que me controle las veces que el usuario intente
  29.              //tres veces y salga con un mensaje: Lo siento, tres intentos
  30.            //Ayuda por favor si alguien save!!!
  31.        }
  32.  
  33.  

Eso deberia servirte , cualquier error me avisan  :xD


Título: Re: Bloquear programa en c# con password
Publicado por: Noskcire en 4 Marzo 2009, 19:00 pm
 ;-) 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


Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 4 Marzo 2009, 19:44 pm
;-) 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  :xD :xD cometiendo errores se aprende , saludos


Título: Re: Bloquear programa en c# con password
Publicado por: Noskcire en 5 Marzo 2009, 21:06 pm
Saludos..Y Gracias!!!! ;D


Título: Re: Bloquear programa en c# con password
Publicado por: Skeletron en 6 Marzo 2009, 04:16 am
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...


Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 6 Marzo 2009, 04:18 am
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


Título: Re: Bloquear programa en c# con password
Publicado por: KJD en 6 Marzo 2009, 16:04 pm
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.


Título: Re: Bloquear programa en c# con password
Publicado por: Foxy Rider en 6 Marzo 2009, 23:07 pm
Citar
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í (http://www.google.com.ar/search?q=.NET+Obfuscator)

Alex~


Título: Re: Bloquear programa en c# con password
Publicado por: Noskcire en 16 Marzo 2009, 21:26 pm
hey muy interesante eso de que me pueden ver los datos que almaceno en las variables
pero el caso esta en como hago eso de las INCRIPTACIONES , varias veces he escuchado de eso ,pero nunca lo he hecho y ya que ustedes lo comentan ahora tengo miedo de sacar mi aplicacion de esa manera , osea sin la INCRIPTACION de la clave de usuario.

Pues como lo haria en verdad no tengo ni idea, solo se que si no lo hago estaria en peligro por algun malisioso..

bueno espero su resp.


Título: Re: Bloquear programa en c# con password
Publicado por: Foxy Rider en 16 Marzo 2009, 23:44 pm
Buena decisión, un buen paso para hacer una aplicación un poco más segura, o lammerproof ....
mirá, es cifrado, y .... depende ...

te dejo lo mismo que 12 posts atrás : https://foro.elhacker.net/net/como_elimino_de_la_ram_un_valor-t246895.0.html

cualquier duda, postea o acudí a la msdn ;P

Alex~


Título: Re: Bloquear programa en c# con password
Publicado por: Meta en 17 Marzo 2009, 08:39 am
Si dejan el pasword y login tal como está. Se puede ver con el www.winhex.com


Título: Re: Bloquear programa en c# con password
Publicado por: KJD en 17 Marzo 2009, 13:00 pm
Citar
Devido a que la plataforma .net es codigo nativo,
administrado o managed, como quieras ....
pero no es nativo ...
JIT Compile, te suena ?

Si perdon, tienes razon no se poruqe puse nativo  :silbar:

Si quieres lo que puedes hacer para protegerlo con serial, es o bien, generarlo en base a la placa Mother, o Hard Disk, obteniendo los hardware id, y de ahi hacer algun algoritmo simple que genere el seria como por ejemplo md5 o algun otro.
Pero como Alex, no almacenes el serial en texto plano, osea string, sino en memoria o tambien podria ser en un array de strings.


Título: Re: Bloquear programa en c# con password
Publicado por: Amerikano|Cls en 17 Marzo 2009, 16:26 pm
Una duda compañeros , necesito negar el acceso al programa atravez de una contraseña , sin usuario ni nada , es como una palabra clave , onda por ejemplo , si la password es hola , que se carge el form , si no , entonces que desactive todos los botones y los textbox , no puedo poner codigo , pero si me orientan un poquito quedaria feliz , gracias de ante mano  ;D


Código
  1. private void Form1_Load(object sender, EventArgs e)
  2.        {
  3.            String palabra = "hola";
  4.            if (palabra == "hola")
  5.            {
  6.                MessageBox.Show("Programa cargado correctamente");
  7.            }
  8.            else
  9.            {
  10.                MessageBox.Show("Progama bloqueado Ingrese password");
  11.                Application.Exit();
  12.            }
  13.        }
  14.  
  15.  
  16.  
algo así estoy haciendo , es una prueba pero estoy trabajando en ello , diganme ideas y las leo gracias :D
---

hay una forma que se abra un textbox para ingresar la clave?

---

se me ocurrio otra idea :D , luego les cuento  :P
lo hice , gracias por su lectura  ;D

---

a todo esto me pueden crackear el programa para ver la cadena de password , no esta protegida ni nada  :xD

No es por nada pero en este ejemplo que pusistes la condicion siempre se realizara, ya que declaras una variable palabra a la que le asignas "hola" y luego la comparas con "hola", de manera que siempre sera ejecutada la instrucción.

Como te han dicho usa protecciones como cifrado, obfuscacion de code y demas  :-*, no quiero decir con esto que no se pueda de esta forma, pero deberia ser algo así.

Código:
var palabra=campo.ObtenerTexto()

si(palabra="clave")
       imprimir "correcto"
else
       imprimir "incorrecto"

Salu2


Título: Re: Bloquear programa en c# con password
Publicado por: Meta en 17 Marzo 2009, 19:45 pm
Puedes guardar el password en fomato binario.

Código
  1. short agno = 2005;
  2. decimal ingresos = 46762993;
  3. bool anotado = true;
  4. StreamWriter Texto = new StreamWriter("Archivo.txt");
  5. Texto.Write(agno);
  6. Texto.Write(ingresos);
  7. Texto.Write(anotado);
  8. Texto.Close();
  9. FileStream Archivo = new FileStream("Archivo.txt", FileMode.Append);
  10. BinaryWriter Binario = new BinaryWriter(Archivo);
  11. Binario.Write(agno);
  12. Binario.Write(ingresos);
  13. Binario.Write(anotado);
  14. Archivo.Close();
  15.  




Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.IO;
  10.  
  11. namespace Alarma_01
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.        public Form1()
  16.        {
  17.            InitializeComponent();
  18.        }
  19.  
  20.        short agno = 2005;
  21.        decimal ingresos = 46762993;
  22.        bool anotado = true;
  23.  
  24.        private void Form1_Load(object sender, EventArgs e)
  25.        {
  26.            String palabra = "hrtola";
  27.            if (palabra == "hola")
  28.            {
  29.                StreamWriter Texto = new StreamWriter("Archivo.txt");
  30.                Texto.Write(agno);
  31.                Texto.Write(ingresos);
  32.                Texto.Write(anotado);
  33.                Texto.Close();
  34.                MessageBox.Show("Programa cargado correctamente", "Información:",
  35.                    MessageBoxButtons.OK, MessageBoxIcon.Information);
  36.            }
  37.            else
  38.            {
  39.                FileStream Archivo = new FileStream("Archivo.txt", FileMode.Append);
  40.                BinaryWriter Binario = new BinaryWriter(Archivo);
  41.                Binario.Write(agno);
  42.                Binario.Write(ingresos);
  43.                Binario.Write(anotado);
  44.                Archivo.Close();
  45.                MessageBox.Show("Progama bloqueado Ingrese password", "Para:",
  46.                    MessageBoxButtons.OK, MessageBoxIcon.Stop);
  47.                Application.Exit();
  48.            }
  49.        }
  50.    }
  51. }
  52.  


Título: Re: Bloquear programa en c# con password
Publicado por: Noskcire en 23 Marzo 2009, 21:48 pm
 ;-)Muy bien , pero es que quiero hacerlo conectado a una tabla base de datos SQL que le pondré por nombre: Usuarios y esta tendrá los campos de  Nombre y Contraseña..

Con la logica y el codigo antes tratado solo me faltaria incriptar el nombre de usuario y la contraseña ..por favor disculpeme pero necesito la ayuda y por eso digo que no seeeeeeeeeeeeee hacerlooooooo  :huh:

Crear la tabla no tendria problema pero hacer lo anterior que dije si y que esa tabla sea evaluada por el nombre de usuario y la clave que se iserten en los textbox : Nombre , Clave


Título: Re: Bloquear programa en c# con password
Publicado por: Pablo Videla en 23 Marzo 2009, 22:44 pm
;-)Muy bien , pero es que quiero hacerlo conectado a una tabla base de datos SQL que le pondré por nombre: Usuarios y esta tendrá los campos de  Nombre y Contraseña..

Con la logica y el codigo antes tratado solo me faltaria incriptar el nombre de usuario y la contraseña ..por favor disculpeme pero necesito la ayuda y por eso digo que no seeeeeeeeeeeeee hacerlooooooo  :huh:

Crear la tabla no tendria problema pero hacer lo anterior que dije si y que esa tabla sea evaluada por el nombre de usuario y la clave que se iserten en los textbox : Nombre , Clave

Tendrias que cifrar con md5 por que la mayoria de las veces la encriptacion de las contraseñas en la tabla estan en md5...yo no tengo conocimiento de ello en programacion ...


Título: Re: Bloquear programa en c# con password
Publicado por: Foxy Rider en 23 Marzo 2009, 23:36 pm
o con SHA512, por lo que me comentaron, está mejor que MD5 (que es vulnerable a colisiones) ...
pero alguien que sepa más de criptografía te sabrá decir (además, valga la diferencia de 128 a 512 bits ...)

El usuario no se suele cifrar, ya que necesitás mostrar algo estilo "Hola [Usuario]" ("Hola Pepe") y como estos algoritmos son irreversibles, entonces el usuario se pierde forever and ever ....

el asunto es tan simple como cifrar lo que se ingresó y guardarlo en una variable, hacés un "SELECT Usuario,Pass FROM LaTablaDondeEsteEsto WHERE Usuario='LoqueElusuarioIngresoy a lo que previamente filtraste de comillas y demás' "

en el caso de la password "Prueba" sería (en SHA-512) el digest:

Citar
0ba7c1f753b174aa04d3aea086c8fd27a99fc16da1705bbde09c1cb3cba565c1a1cdb93afb06d7b147eb0203440a0bfcf2f943834a2bc3f41059a8fbd44dba92

que estaría guardado en la tabla, si el usuario existe, obtenés el registro con el usuario tal que se haya ingresado, junto con este digest , lo comparás con la variable y si se ingresó correctamente la password, va a concordar el digest ;P

Fijate, .NET tiene la clase SHA512 -> http://msdn.microsoft.com/en-us/library/system.security.cryptography.sha512.aspx

Alex~


Título: Re: Bloquear programa en c# con password
Publicado por: Meta en 24 Marzo 2009, 00:48 am

Fijate, .NET tiene la clase SHA512 -> http://msdn.microsoft.com/en-us/library/system.security.cryptography.sha512.aspx

Alex~

Me he fijado bien y he logrado ver que está en español-España.

http://msdn.microsoft.com/es-es/library/system.security.cryptography.sha512.aspx

Saludo.