Buenas a todos,

Abro este tema para realizar una consulta para comprender la seguridad de un software. Os hago una breve introduccion de como , creo yo, que más o menos funciona.

El programa se compone de unos archivos excel realizados con macros. Los excel son la entarda y salida de datos, y tienen vinculada una app .exe (c++) la cual se encarga de realizar operaciones y de la validación.

En primer lugar el Excel tiene un boton con el que ejecutas ese .exe y el te da un user key aleatorio. Posteriormente tiene otro botón que te pide una clave para activar.
Dependiendo del ukey(user) tienes una ckey(clave).

Pues bien yo realice un by pass y en principio escribiendo lo que escribieses en la clave se validada exitosamente. Que ocurreque muestra el texto de "éxito en la validacion" pero cuando intentas ejecutar algo, ERROR.
El .exe muestra en pantalla "license file corrupted"

A partir de aquí os cuento, cuando tu generas un ukey se genera en un archivo .lic (que se encuentra en un diréctorio afín al .exe) una serie de datos:

License nu: números y letra
User key: numero ( no es el ukey)
Code key: numero
Access: símbolos (codificado)

Se que tiene mucho que ver ese archivo a la hora de validar, pero no se exactamente como funciona. Si alguien tiene experiencia o ha visto algo parecido le agradecería que compartiesemos opiniones. Puedo pasar les el software por mail.

Un saludo y gracias de antemano