
|
Cuando un programador busca un sistema de administración de programas shareware, unas de las primeras cuestiones son: Cuán seguro es? puede ser crackeado? existe alguna forma de violar la proteción? fué crackeado alguna vez?
|
Seguridad durante el periodo trial
Una de las primeras cosas que un hacker intentará hacer es encontrar donde se guarda la información del trial, entonces, manipulando esta información intentará violentar la estrategia de seguridad, por ejemplo ocasionando un error que saque alprograma fuera del modo trial o eliminando esta información a fin de reiniciar elperiodo trial.
En el componente AVLockGold esto podrá ser posible o no dependiendo de como configure el comportamiento del periodo trial con la propiedad TrialMode.
1. TrialMode=tmRelative
Normalmente, para la distribución masiva de aplicaciones de bajo costo podría utilizar la opción tmRelative para la propiedad TrialMode. De esta manera, cuando el usuario ejecuta por primera vez la aplicación el periodo trial comienza automáticamente desde la fecha actual del sistema, inmediatamente el programa se encontrará en el primer día del periodo de prueba. Para las siguientes ejecuciones el estado trial permanecera sin cambios
Este método es apropiado y da un razonable nivel de seguridad contra intromisiones comunes, pero no provee un buen nivel de seguridad contra hackerss avanzados, ya que el periodo trial puede ser reiniciado eliminando toda la información almacenada en el registro o el fichero *.avr (RegFile).
Para implementer este tipo de triales es necesario almacenar información en algún lugar del disco, normalmente el registro o un fichero ini o alguna otra ubicación en el disco. Este es el lado débil de este método, ya que cualquiera puede encontrar esta ubicación y forzar el periodo trial a su punto inicial borrando esta información. Para evitar esta amenaza Ud. debe utilizar la opción tmNone.
2. TrialMode=tmNone
La mejor manera de evitar la amenaza mencionada en el punto anterior es con la opción tmNone en la propiedad TrialMode. Entonces, la primera vez que el usuario ejecuta la aplicación esta se inicia expirada. No hay problema, esta es una buena oportunidad de contactar con el nuevo usuario pidiendole información valiosa para Ud. a cambio de una clave de registraciómn gratuita por un periodo de evaluación. Eventualmente podrá implementar un método de registración en linea con código php para generar automáticamente la clave para este periodo de prueba inicial solicitando información de los usuarios.
Ahora, cuando alguien elimina la información de registración, la aplicación retorna a su estado original, expirado.
Utilidades para Hackers
DateDesist*
DateDesist cambiará temporalmente la fecha de su ordenador, iniciará un programa, luego volverá la fecha a su valor correcto. DateDesist derrotará la mayoría de los programas que expiran.
Para evitar esta amenaza se debe invocar el método check dentro de una rutina frecuentemente llamada. Ejemplo:
avlockg51.check;
Resource Hacker*
Con la utilidad "Resource Hacker" y otros similares es muy fácil crackear un archivo exe compilado con Delphi ya que todas las propiedades publicadas de cualquier componente pueden ser cambiadas fácilmente, cualquier manejador de eventos eliminado y cualquier respuesta a botones cambiada. Para evitar esto Ud. puede tomar las siguientes precauciones:
1. No utilice los manejadores de eventos como oncreate o onshow para asignar propiedades o llamar al procediomiento execute, en su lugar ubique esto en el fichero del proyecto (*.dpr). Vea la aplicación Demo2.
Observe en el fichero *.dpr del Demo2 para ver como aplicar este método.
Vea la sección de AVLockGold sinsertada entre las lineas application.createform y Application.Run.
program Demo2; //Aplicacion Demo
uses
Forms,sysutils,avlockgold, //sysutils and avlockgold added
Unit2 in 'Unit2.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
//******* AVLockGold section ***********
with Form1.avlockg51 do begin
encryptionkey:='myencryptionkey123';
execute;
end;
//**************************************
Application.Run;
end.
2. Inserte en alguna rutina frecuentemente llamadala siguiente linea:
AVLockG51.check;
3. Comprima su fichero exe final con un compresor como UPX* o AsPack*.
* DateDesist is a shareware utility © 1997 Joel R. Dare. ReSource Hacker is a freeware utility copyright © 1999-2002 Angus Jhonson. UPX is a freeware utility copyright © 1996-2001 Markus Oberhumer & Laszlo Molnar, and AsPack is a shareware utility copyright © 1998-1999 Alexey Solodovnikov.
Si hay algo que no quedó claro o tiene preguntas no respondidas por esta ayuda, por favor no dude en contactarnos en nuestro sitio http://valega.com/contacto.php.
|