Ver Mensaje Individual
  #18  
Antiguo 21-07-2013
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Reputación: 21
StartKill Va por buen camino
Cita x Neftali
Cita:
Basta ahora con buscar esa referencia y cambiar el JNZ (Jump No Zero) por JZ (Jump Zero); Es decir, realizamos la comparación "al negativo".
Cita x WkaymQ48
Cita:
Usar un hash para las comparaciones. Es decir nunca guardar la clave en claro, guardar en su lugar un hash de la clave y hacer comparaciones del tipo hash(clave_introducida)=hash_guardado, así si alguien hace un debug no tendrá forma de averiguar la clave original.
A mi parecer Neftali de una otra forma mataría el artificio de WkaymQ48.

No estoy para ser negativo, mas deseo dar un pequeño aporte a este tema tan interesante: Algo que sea más trabajoso romper.

Creando el instalador del programa.
1ro. Entregar un KEY al cliente para instalar, ejemplo (T3V-5FW-TGY-XJ7)
2do. De alguna forma obtener el ADN de la PC a instalar el programa. (algo del hardware...)
3ro. Conectarse a un webService y enviar el KEY y ADN, alli en el server validar el KEY, si todo correcto el webService devuelve un HASH del ADN
4to. Con el HASH encriptar un archivo mochila: claves de acceso y/o valores de algunas variables del programa.(ojo: la idea es que sean valores necesarios para el programa)

Ejecutando el programa instalado
1ro. Obtener el ADN de la PC. (el paso 1ro del instalador)
2do. Crear un HASH del ADN
3ro Con ese HASH desencriptar el archivo mochila y asignar valores, claves de inicialización para el programa.

Si se copian el programa, este dará un ADN diferente por ser otra PC, y por consecuencia un HASH que no desencriptaría de forma correcta al archivo mochila.

* Si desean de vez en cuando hacen alguna validación en el webService


Your friend

StartKill
Lima-Perú
Responder Con Cita