Autor
|
Tema: PROTEGER APLICACION (Leído 7,344 veces)
|
Deep_Purple
Desconectado
Mensajes: 10
|
Hola. Dicen que es de bien nacido ser agredecido. Yo también intento resolver dudas y aportar la información que puedo en otro foro (sobre Ingeniería Química) y jode mucho que después de haber buscado la información o resuelto el problema no se dignen a contestarte. Hay gente pa to
Venga gracias a todos.
|
|
|
En línea
|
|
|
|
Nosferatu
Desconectado
Mensajes: 226
Euskadi, bat eta askea!
|
benga a ti pero.... creo que todos estamos con ganas xD yo al menos: Con que te has quedado? Que solucion?? Has ideado otra cosa tu mismo?? xD, solo pregunto por irritante curiosidad , no tienes porque responder
|
|
|
En línea
|
Triste zaudenean, triste zaudenean, pentsa esazu, zure lagun onenean
|
|
|
goodbye
Desconectado
Mensajes: 93
|
Deep_Purple - Para aplicar la idea que propuse: Private Function Encriptacion_Reversible(GUID As String) As String ' Depurado Dim i, c For i = 1 To Len(GUID) c = Chr(Asc(Mid(GUID, i, 1)) Xor Sqr(Len(GUID) / i)) Encriptacion_Reversible = Encriptacion_Reversible + c Next i End Function
La clave de tu aplicacion va a ser justamente el valor GUID y tu programa debera generarlo desde la primera vez. La funcion arriba es para protegerla. Pero como bien dices, cada vez que generaste la clave obtuviste un GUID diferente. Entonces cada vez que el programa vuelva a generarlo que sea por alguna razon (puede ser que llego la fecha de vencimiento o un numero limitado de usos) encriptaras el GUID con una funcion como la de arriba; como veras es reversible. Guardaras la clave cifrada, desde el primer momento, pudiera ser en el registro de windows. Cuando te decia que crearas otra aplicacion (para tu uso exclusivo) aparte de la del proyecto que logicamente funcionaria con el mismo algoritmo de encriptacion, este seria tu recuperador de la clave. Asi tu aplicacion principal cada vez que quisiera registrarse solo mostraria la clave cifrada a los ojos del publico (o mejor aun, sin mostrarla, pero si guardada, en algun lugar , para luego ser leida y validada); despues por telefono o tambien que el programa te autoenvie la cifrada a tu e-mail. De cualquier manera siempre tienen que morir en ti, porque solo tu tienes el metodo para recuperar la original, sin la cual ya sabemos que nada de nada!! uhff!! espero haberme explicado.. Para probar la encriptacion reversible y de paso construirte tu propio recuperador de la clave, deposita en una nueva ventana un Text, un Button y pegale el code de la funcion de arriba y este otro Private Sub Command1_Click() Text1 = Encriptacion_Reversible(Text1) End Sub Por ultimo: El procedimiento para que tu programa valide la clave y se bloquee para su uso no autorizado queda de tu parte. Saludos y mucha Suerte!!
|
|
« Última modificación: 28 Junio 2005, 06:42 am por CrackelDestripador »
|
En línea
|
Al lado de la dificultad está la facilidad. Cambiad de placeres, pero no cambies de amigos. Aceptar un favor de un amigo, es hacerle otro.
|
|
|
Nosferatu
Desconectado
Mensajes: 226
Euskadi, bat eta askea!
|
MUY Interesante CrackelDestripador
!! Esto me va a servir para algo Se me hace familiar al metodo unidireccional de las autentificaciones de contraseñas en Unix Toda esta cantidad de codigos tambien me seran de utilidad, asique, muchas gracias a todos salu2
|
|
|
En línea
|
Triste zaudenean, triste zaudenean, pentsa esazu, zure lagun onenean
|
|
|
Deep_Purple
Desconectado
Mensajes: 10
|
Hola a todos. He probado la función de cifrado reversible y obtengo esto:
(i=1) Chr(Str(...= D Int(Str....= 195 c= _ (i=2) Chr(Str(...= E Int(Str....= 146666666666667 c= ‡ (i=3) Desbordamiento
He probado con varias claves y siempre se desborda en la tercera iteración. ¿lo ha probado alguien y le ocurre lo mismo? Un saludo.
|
|
|
En línea
|
|
|
|
Ertai
|
Mira, lo que podrias hacer (aparte) y segurisimo que no falla, es guardar todo lo que necesites guardar en un archivo en Internet que sea modificable por PHP, así nadie te podrá modificar la información.
A favor: Fácil y seguro. En contra: Se necesita conexión a Internet y se puede asaltar la información con un Sniffer.
Lo puedes añadir a tu programa como opción "extra" en caso de que hubiera Internet.
Saludos, Ertai
|
|
|
En línea
|
Si la felicidad se comprara, entonces el dinero sería noble. void rotar_by_ref(int& a, int& b) { /* Quien dijo que no se podia sin una variable temporal? */ *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b; }
|
|
|
Kizar
Desconectado
Mensajes: 1.325
kizar_net
|
Esa es una buena opcion pero tienes que tener un hosting con soporte de php, (casi todos), ahora pongo el codigo, en cuanto tenga un poco de tiempo. Salu2
|
|
|
En línea
|
|
|
|
Kizar
Desconectado
Mensajes: 1.325
kizar_net
|
Mira, tienes k subir el archivo php a tu hosting, lo que esto ace no seria validar contraseñas, seria enviarte la contraseña y gurdartelo en un archivo de texto en el servidor, luefo tu tendrias que comprovar la clave solo es una idea, lo de como agas luego para autorizarles no se muy bien... Weno, aqui va el codigo Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Const SW_NORMAL = 1
Private Sub Command1_Click() Dim X X = ShellExecute(Me.hwnd, "Open", "http://www.tuweb.com/IPSP.php?datos1=" & Text1.Text, &O0, &O0, SW_NORMAL) End Sub Tienes que añadir un boton y un textbox Al archivo php yo le e llamado IPSP En el archivo php: <?php $archivo = "Registros.txt"; $puntero=fopen("$archivo", "a+"); rewind($puntero);
$td = date("F jS"); $date = date("d M, Y"); $time = date("g:i a"); $LogTime = "FECHA: $date, [ $time ]"; $realip = getenv( 'REMOTE_ADDR' );
$add = ("$datos1" . "___" . "$LogTime" . "___" . "$realip" . " "); fwrite($puntero, $add); fclose($puntero); ?> Tambien le e añadido que te muestre la fecha y hora de la solicitud y la IP desde la que a sido registrado. Salu2
|
|
|
En línea
|
|
|
|
Ertai
|
Sí, es eso, a mi me daba palo postear el código.
|
|
|
En línea
|
Si la felicidad se comprara, entonces el dinero sería noble. void rotar_by_ref(int& a, int& b) { /* Quien dijo que no se podia sin una variable temporal? */ *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b; }
|
|
|
programatrix
|
A mi me parece también bien, otra formula. A cada uno que usa el programa le das un nombre y luego mediante un algoritmo dependiendo del nombre que hayas introducido recibe una clave diferente. Es solo una opinión.
|
|
|
En línea
|
|
|
|
|
|