2010-02-09 22 views
18

¿Dónde guardan los programas su licencia secreta o instalan información relacionada? Noto que muchas veces cuando desinstalas un programa, borras las referencias de los appdata, revisas los registros para asegurarte de que no haya ningún residuo de información relevante.¿Dónde guardan los programas su licencia secreta?

Si vuelve a instalar el programa de prueba, parece saber que ya estaba instalado. No busco una manera de romper programas de prueba, pero en realidad necesito implementar algo similar y no puedo encontrar ninguna buena información sobre cómo hacer esto.

+7

Hay miles de formas de hacerlo, ninguna de ellas infalible. – Piskvor

+1

no está completamente relacionado, pero [revo] (http://www.revouninstaller.com/) puede informarle acerca de algunos archivos sobrantes y entradas de registro. Podría ayudarte. –

+2

¿Qué licencia secreta? No hay licencia. O_O –

Respuesta

18
  • Registro
  • línea
  • archivo en la carpeta de Windows con el sistema, como el nombre
  • aplicaciones
  • incluso he visto que hackeado sin usar Variables del sistema operativo para almacenar datos personalizados en el registro.
  • Pero el método más simple es registrar un controlador para un tipo de archivo personalizado no utilizado como .sof (si está allí, se instaló anteriormente) Editar 1 Tiene que registrar el identificador para abrir un ejecutable conocido en el sistema no a tu aplicación Porque los limpiadores detectarán si apunta a una ubicación de aplicación que ya no existe. En cuanto a almacenar params adicionales como fecha de caducidad de prueba, puede incluirlos en la ruta como un parámetro, como: cmd.exe -o 2010-02-09
+0

Sugeriría registrar algo más como '.xxxxxnotusedxxxxx' para la extensión de archivo. Cada vez que quiero usar un archivo '.sof' no quiero que tu programa lo arruine. – Earlz

+0

@Earlz: cuando instale algo más, simplemente actualizará la extensión. Pentium solo sugiere verificar su presencia. – Ian

+2

Eso es bastante inteligente. – Cyclone

2

Lo guardan donde pueden, archivos secretos, claves secretas de registro. Hay productos comerciales que ofrecen este tipo de protección, como ASProtect, armadillo, etc.

5

He manejado esto de dos maneras. Primero, en las aplicaciones de Windows, introduzco una entrada encriptada del Registro que no está en una ubicación estándar para que no se encuentre fácilmente. Esta es una buena solución si no le molesta a las personas que a) reformatean a menudo, lo que elimina todas las entradas del registro ob) usan su software en una máquina virtual que puede volverse rápidamente a un estado previo al juicio (y así su ruta puede ser utilizado de nuevo rápidamente).

La mejor alternativa es tener un componente de registro en línea que capte la dirección MAC de la máquina en la que se carga la versión de prueba. Cada vez que se vuelve a cargar la versión de prueba, el software comprueba contra un servicio web para ver si la dirección MAC se ha visto antes. La única forma de evitar esto es usar una Máquina Virtual con la capacidad de cambiar la dirección MAC. Sin embargo, si tiene un usuario que llega a este extremo, usarán su versión de prueba independientemente.

+0

Me gusta esa idea de registro cifrado, pero ¿no es redundante la encriptación? Si no pueden encontrarlo, no pueden eliminarlo. ¿Qué encriptas, la clave o el valor, y por qué importa? –

+1

@Steve H .: Tiene razón, podría ser redundante cifrarlo, pero a veces le da a la administración un poco más de seguridad. Les encanta tener una sensación de seguridad y lanzar un hash en lugar de un valor estático que los hace felices (sí, a veces codigo a la administración en lugar del usuario). En general, simplemente valoro el valor de la clave, tomando, por ejemplo, la dirección MAC de la máquina y lanzándola a través de un MD5. –

+0

Yikes. ¿Entonces una oficina entera sería excluida debido a la dirección MAC de su enrutador? Duro. Además, un FYI: es posible cambiar las direcciones MAC. –

0

También podría tratar de ocultar el archivo o la carpeta: la mayoría de los usuarios no saben revelar archivos y carpetas ocultos. Entonces puedes ponerlo en cualquier lugar realmente. C:/WINDOWS a veces es una buena opción debido a esa ventana tonta que aparece cuando la haces clic por primera vez que dice "¡PELIGRO! ¡NO EDITES NADA EN ESTA CARPETA O TU SO SE ARRASTRARÁ!" Esto ocultará casi cualquier cosa del profano, pero seamos realistas, no escondes nada de nadie que esté activo en desbordamiento de pila. :)

+1

Poner tu basura en C: \ Windows es poco ético o simplemente estúpido. –

1

Algunos productos utilizarán ADS (Alternate Data Streams) y ocultan los datos en varios lugares.

Otros dejarán atrás "rootkits" tos SONY.

También algunos crearán entradas de registro especiales que no se pueden eliminar fácilmente, como las entradas con NULL en el name.

A veces depende de qué tan escrupuloso sea el desarrollador.

3

Probablemente la forma más infalible de obtener una licencia (cuando se hace bien) es a través de algo que el usuario físicamente tiene - algún tipo de dongle de hardware.

  • muy difícil de copiar/duplicar
  • no depende del acceso a la red
  • resistente a la manipulación (en comparación con el software)
  • (cuando se trabaja correctamente)
  • aplicación de recuento de licencias fácil de usar (puede 'Enchufe fácilmente 1 dongle en 10 máquinas a la vez)

Por supuesto, también tiene numerosas desventajas:

  • caro de producir
  • disco de reparación/sustitución
  • en realidad le requiere para comunicarse con el dispositivo de seguridad de una manera segura mediante cifrado- cualquier tipo de if(dongle_ok()) { do_stuff() } es una invitación para que los crackers parche que a if (1) { do_stuff() } ...
  • ... que requerirá controladores especiales ...
  • ... tal vez incluso una interfaz especial (todavía tengo un dongle LPT, pero no puertos LPT; USB < -> LPT chupa)
  • Ni siquiera pienso de conectarlo a una máquina virtual (aunque el apoyo periférica es mejor en máquinas virtuales de hoy en día)
  • demonios de apoyo (se conectaba es que no se rompe es el?? controlador no está roto? son las firmas/claves correctas y vigentes?)
  • frágil, esp. Si se pega fuera de la computadora y/o tiene mecanismos contra manipulaciones destructivos
  • puede romper la comunicación con otros periféricos (esp. esos "pasar a través" cosas eran conocidos por este)

Para la mayoría de los programas, las desventajas superan con creces las ventajas; sin embargo, si está creando un software costoso y complejo (piense en "control de la planta de producción"), sus clientes son bastante despreocupados con respecto a las licencias (en otras palabras, "comprarían una sola copia (crackela si es necesario) y la ejecutarían en 50 máquinas". si pudieran salirse con la suya "), y las demandas no son prácticas (demorar demasiado, no tiene mucha evidencia, resultado incierto), esto puede ser útil. (No dije simple, ¿verdad?)

+0

Oh, me encanta cuando tengo que instalar un controlador de desarrollador aleatorio para usar su procesador de textos ... –

+0

@Longpoke: De hecho, los problemas aquí superan los beneficios para la mayoría de las aplicaciones de propósito general. El factor de usabilidad es asombroso aquí, pero la seguridad todavía lo hace atractivo en algunas áreas. (y sí, es todo seguridad * potencial *, que es fácil de perder: hay dongles HW que brindan seguridad a un nivel de "comprobación de que un dispositivo USB con ID 12345 está conectado", como con cualquier producto) – Piskvor

Cuestiones relacionadas