![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Bueno dec, aquí te dejo una función para comprobar el numero de serie pero sin llegar a generarlo en ningún momento. La función para generarlo sigue siendo la misma que pones en el mensaje #40, y puedes usarla tu para generar los números de serie que le mandes a los clientes.
Bueno, ahora ya no aparece el numero de serie en la memoria. Ya solo nos tiene que preocupar que nos parchee el programa algún ruso con mucho tiempo libre . |
|
#2
|
||||
|
||||
|
Segun lo que hemos comentado, cambiando un poco la función y añadiendo un parámetro, puedes obtener el número "a trozos".
Revisa este ejemplo. La de obtener el serial quedaría así:
Y en este caso cambiaríamos la de comprobación por algo así:
Es un ejemplo, pero fácilmente puedes generarlizarla un poco más... (lo he escrito sobre la macha y tampoco lo he pensado mucho...). El número de serie no aparece completo, es más ni siquiera aparecen todos los trozos. Sinceramente creo que es casi imposible que alguien mirando la memoria del programa se le ocurre que 6 números que hay por ahí son parte del número de serie. Si la comprobación la cambias de orden pues mucho menos. Otro tema es el del Debug; Eso si quieres lo dejamos para otro momento....
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 28-03-2007 a las 19:09:12. |
|
#3
|
||||
|
||||
|
Hola,
Os agradezco a todos vuestro esfuerzo, de verdad. No doy pie con bola y no es culpa vuestra, ni mucho menos. No me encuentro muy bien, a lo que se ve. Supongo que será algo pasajero, puesto que no es la primera vez que me ocurre. Probando la última solución propuesta por Seoane (no me gusta copiar y pegar, pero, he tenido que hacerlo sin remedio) encuentro el siguiente problema: (Nótese que el nombre de la función "CheckSerial" es ahora "ComprobarNumeroSerie" pero que no cambia más que esto)
El caso es que incluso proporcionando un código de serie válido este resulta ser "no válido". Por tanto entramos en el "If not Result then...". He podido comprobar que si no proporcino clave de usuario y sí únicamente el número de serie, entro en el "if not Result then..." y el mensaje muestra efectivamente el número de serie introducido. Pero si añado la clave de usuario (como tiene que ser) junto con el número de serie, entonces tampoco valida el número (aunque sea correcto) y además el mensaje muestra el número "partido"... no completo... Esto me supera, probablemente. No he comprobado esto último que comenta Neftalí, puesto que lo acabo de leer. Y ya lo que me trae de cabeza es que intente buscar el número de serie en la memoria en antiguos programas en donde hacía uso del mismo sistema... y no aparezca.O sea, que algo he tocado... y ya se sabe que lo que funciona no debe tocarse... ¡qué sé yo! Bueno. Os agradezco a todos de veras el esfuerzo que ponéis en tratar de echarme una mano, pero, empiezo a pensar que debo tomarme esto mucho más seriamente de lo que soy capaz ahora mismo. Tampoco corre prisa, supongo. Voy a tratar de tomármelo con más calma a ver qué tal... Gracias a todos monstruos. ![]() |
|
#4
|
||||
|
||||
No entiendo:Si yo genero un numero de serie con la función que aparece en el mensaje #40. Obtengo esto: Código:
Base = 1234 Usuario = Domingo Resultado = 53926-10321176-3149022
|
|
#5
|
||||
|
||||
|
Hola,
Vale Seoane.... ![]() Sí; acabo de comprobar que funciona el asunto, y que el número de serie correcto no aparece en la memoria... ¡y esto quiere decir que lo he... que lo habéis conseguido! Toca ahora (para interesados) estudiar el código propuesto y saber porqué funciona y porqué antes no funcionaba... En todo caso parece que el asunto está arreglado... en otro caso volveré a acosaros de nuevo. Gracias por todo. Si no fuera por vosotros probablemente esto me hubiera costado una úlcera (siempre quise decir algo así). ¡Muchas gracias! ![]() PD. Cuando me asegure de que todo está en orden lo referiré de nuevo aquí, no podré evitarlo. Hasta pronto. Por cierto... el código quedará más o menos de la siguiente forma:
Última edición por dec fecha: 28-03-2007 a las 19:46:51. |
|
#6
|
||||
|
||||
|
A proposito de esto, la mejor guia (en cuanto a ser de facil digestion) de hacer programas anti-crack con Delphi:
http://www.inner-smile.com/nocrack.phtml ![]()
__________________
El malabarista. |
|
#7
|
||||
|
||||
|
Hola,
Gracias Mario. Echaremos un vistazo. ![]() Por cierto Seoane... te vas a partir de la risa... ¡todo va bien, pero mis clientes no podrán llamarse "raro", ni "ramon", ni por supuesto "pepe"! No te preocupes. Ya trataré de averiguar qué ocurre para que usuarios como "domi", "seoane", "domingo seoane", generen números de serie que luego pueden validarse sin problemas (ni aparecer en memoria), pero, sin embargo, nombres de usuarios como "raro", "ramon", "pepe"... no validen... Por eso más arriba dije que no me había funcionado... había copiado y pegado bien, pero no me funcionó con el nombre de usuario conque probé... ![]() Me estoy volviendo loco, me estoy volviendo loco, me estoy volviendo loco, poco a poco, poco a poco... (bis) Edito: Y no es para menos. Ahora resulta que el nombre de usuario "pepe" no valida, pero el número de serie sigue apareciendo en memoria... que da igual, porque no valida, pero aparece... decidme si esto es normal o qué... ![]() En todo caso parece que hemos avanzado mucho (gracias Seoane) porque, efectivamente, el usuario "juan" sí valida, pero, si no se introduce un número de serie válido, valga la redundancia, el correcto (generado en el programa) no aparece en memoria. Bueno. ¡Pues con no vender el programa a nadie que se llame "pepe" o "ramon"! ![]() Última edición por dec fecha: 28-03-2007 a las 20:04:22. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| eliminar datos con dbgrid | UREÑA | Conexión con bases de datos | 20 | 30-03-2007 23:41:32 |
| Eliminar Datos eficientemente | k_rito | Conexión con bases de datos | 5 | 27-11-2006 00:44:45 |
| Cómo obtener ciertos datos de los archivos ejecutables y librerías | StartKill | Varios | 1 | 14-08-2006 23:10:01 |
| Eliminar del memoria los querys | Aura | OOP | 4 | 01-04-2004 17:40:40 |
| Eliminar datos de una tabla DBF | vicvil | Tablas planas | 4 | 16-05-2003 21:17:46 |
|