Las Protecciones - CompAspel

Vaya al Contenido
Lecciones de Cracking > Tutoriales

APRENDIENDO CRACKING


Las Protecciones


Practicamente las protecciones de software nacieron para evitar que los sistema sean utilizado por mas gente de la que el programador desee.

El tipo de proteccion se basa de acuerdo al metodo a utilizar, de las cuales podemos observar principalmente las siguientes:

Basada en seriales.- Generalmente estas protecciones van acompañada de otro tipo de proteccion y puede ser que el programa venga limitado en su numero de ejecuciones (por dias o por usos) o porque no tiene todas las funciones habilitadas hasta que ingresemos nuestro serial correcto.

El nivel de dificultad de esta proteccion es relativa, puede ser tan facil como ir trazando el codigo hasta que el mismo programa nos de el serial correcto, o puede ser tan dificil de conseguir que tengamos que buscar otra forma de analizarlo, un buen ejemplo es la proteccion canadiense crypkey, utilizada por ejemplo en las aplicaciones de la compañia MTC Nesting System.

Ejemplo de una proteccion basada en un serial.




NAG Screen.- Esto mas que proteccion, es simplemente un aviso que puede aparecer de las siguientes maneras:

  • Al iniciar el programa.

  • Durante su ejecucion, apareciendo al azar o a intervalos de tiempos definidos.

  • Al terminar la ejecucion del programas

  • En varias combinaciones antes descritas.



Su finalidad es recordarnos que no hemos comprado el programa y nos quedan "tantos" dias de uso o numero de ejecuciones. En ocaciones, tendran la opcion de registrarnos, en otras solamente estarian ahi, recordandonos que tenemos que comprarla.

Se considera proteccion, porque si hemos llegado al final de nuestro periodo de prueba, es posible que no nos deje avanzar o que al continuar, ciere la aplicacion.

Ejemplo de NAG Screen, al iniciar cualquier aplicacion de "SoftPyME".




Time Trial (Periodo de gracia).- Es una proteccion basada en el tiempo de uso de una aplicacion, esta puede ser por periodos de Horas, Dias o Numero de Usos. No siempre todas las funciones estaran habilitadas durante su uso, esto depende del programa del que se trate. Algunos programas tendran la opcion de registrarse, otros, simplemente no lo tendran.

Ejemplo de una nag screen avisandonos del TIME TRIAL.




Funciones Deshabilitadas.- Esta proteccion no tiene mucha ciencia entenderla, se trata de que el programa no funcionara al 100%, mientras que no lo registremos, o que venga programado sin las funciones en su codigo, en cuyo caso, es raro que podamos hacer algo para que trabaje al 100 (se puede, pero seria hablar de insertar a mano el codigo faltante).

Su metodo es que mientras no detecte que esta registrado, el sistema tendra ciertas limitantes, como por ejemplo:

  • Numero de registros limitados a dar de alta.

  • Funciones como guardar, exportar o imprimir desactivadas.

  • Menus no habilitados.

  • Textos que no te permita modificar.


Ejemplo de una aplicacion con funciones deshabilitadas.



Empacadores.- Inicialmente este esquema de proteccion se basaba principalmente en comprimir el ejecutable para que ocupara menos espacio y hacerlos mas transportables, poco a poco se fueron dando cuenta que para los aficionados, representaba un problema poderlos crackear, por lo que lo empezaron a utilizar como una proteccion, debido a que no se tiene acceso directo a su codigo original ya que viene comprimido, teniendo que hacer la tarea de indentificar con que programa estaba comprimido y así poderlo descomprimir.

Uno de los compresores mas populares es el UPX (Ultimate Packer for eXecutables) creado por Markus F.X.J., Laszlo Molnar y Oberhumer.

La manera mas rapida de saber si un programa (o sus librerias) esta empacado, es haciendo uso de algunas herramientas creadas para ese obejtivo, aqui les muestro algunas.

Analizando con exeinfo PE v0.0.1.8.G 2008.05.08



Analizando con file insPEctor XL



Analizando con Language2000



Analizando con PEiD-0.94-20060510



Analizando con RDG Packer Detector v0.6.5 Beta



Como podras observar tenemos para escoger, unos detectan un margen de version, otros nos dan la version exacta (segun el analizador), otros hasta nos indican el compactador y hasta nos dicen en que esta progamado el sistema y otros nada mas no detectan nada, depende de cada quien el que quieran usar, yo recomiendo todos y cada uno de los que aqui publico.

Encriptadores.- Este esquema de proteccion difiere de la anterior en que su metodo se enfoca en modificar de tal manera el contenido interno de los archivos para que no sean tan facil su estudio, sin siquiera llegar a comprimir su contenido, y en ocaciones incluso los hacen mas grandes, por el ingreso de esquemas de proteccion.

Existen varios programas que se encargan de este tipo de proteccion (y a los cuales, por el momento, omitire su funcionamiento; sirva solo para ubicarlos) entre los mas comunes de encontrar son:

ASPack.


Su uso es cada vez menor por falta de actualizaciones (Se les encuentra en las versiones recientes de aspel) tiene descompresores que facilitan la tarea.



ASProtect.


Uno de los populares y hermano mayor del ASPack tambien tiene descompresores.




BJFNT.


Un protector muy arcaico, lo pongo solo por historia no tiene descompresores en su ultima version, aunque tampoco es dificil desempacarlo y reparalo.


Mew 11 SE.


Lo publico solo para que lo conozcas no le conozco descompresores y tampoco que programas lo usen.



PeCompact.


Un compresor casi desconocido, usado a veces este si tiene descompresores.



SoftwarePassport Armadillo.


El chico popular de la clase, usado casi siempre que se puede tiene descompresores, pero no todos sirven, cuando veas un texto que pide un Finger Hardware sabras que es Armadillo.
Del uno al cinco, se lleva el 4 en protecciones.



Protectores.- Los podemos entender como la combinacion de compactadores y encriptadores y generalmente son mucho mas dificiles de atacar, entre los protectores que podemos mensionar son:


ARM Protector.




FSG 2.0 (Fast Small Good).



SLV.cOde.Protector.






XtremeProtector o XProtector.




TheMida, Winlicense.




Los dos ultimos son lo mas acercado a representar "
Pesadilla en la calle de los protectores" de las protecciones porque tienen un arsenal lleno de sorpresas, decir que Themida, el cual va por la version 2.3, De origen ruso, está completamente desarrollado en ASM y solamente la interfaz con el usuario esta programado en Delphi, maneja un esquema de protección similar a generar varias "computadoras virtuales" cada una trabajando en su región de memoria por separado intercambiando información real y ficticia para placer del cracker.

Dongles, Mochilas o Pastillas.- Este esquema de proteccion basa su funcionalidad en el uso de dispositivos fisicos (que tienen un espacio de memoria para guardar esquemas de encripcion que volverian loco a todo el que osara enfrentarse de frente a ellas) que se conectan a algun puerto del equipo, usualmente eran comunes las mochilas que se conectaban en los puertos COM y LPT (y que solo tenian entre 512Kb a 4Mg de memoria), actualmente son usados dispositivos USB.

Su funcionamiento tiene varias maneras de trabajar, la mas dificil es en la cual guardan parte del programa al que protegen (sobra decir que esta encriptado y depurado) por lo que si no se tiene la pastilla, no se podra tener el programa completo.

Se pueden diferenciar el tipo de proteccion de acuerdo a la casa programadora que se encarga de hacerlas, y las mas conocidas son:


HASP.







Sentinel.



Rockey.



Bueno compas, hasta aqui termina nuestro recorrido por los tipos de protecciones mas habituales que podremos encontrar.




Regreso al contenido