Professional Documents
Culture Documents
Hoy hablaremos de los periodos de prueba, cómo podemos evadirlos y como desarrollarlos adecuadamente, para
que cumplan con la función para la que fueron programados, algo muy necesario ya que es común ver como los
desarrolladores usan por ejemplo la fecha del sistema operativo como dato confiable en sus códigos y con base en
ella realizan las respectivas limitaciones de sus productos, esto es una mala practica ya que la fecha del sistema es
fácilmente modificable por el usuario, por lo tanto no podemos confiar solamente en ella, veamos por que…
De este problema no se salva ningún sistema operativo, encontrando fallos en software tan famoso
y polémico como Smurfs’ Village de CAPCOM para iOS, un juego tipo “FarmVille” inspirado en los Pitufos, que es
gratuito pero su modelo de negocio es que compremos pituficerezas (smurfberry), para evitar largas esperas en el
crecimiento de nuestras cosechas y construcción de edificios, como podrán imaginarse haciendo uso de la
multitarea, podemos ir a las preferencias de nuestro iPhone, iPod Touch o iPad y cambiar la fecha del sistema para
que la espera de horas o días, se reduzca a unos cuantos segundos. Pasando de esto…
Lo mismo pasa con Camtasia para Mac OS, si adelantamos la fecha del sistema en la instalación de Camtasia, lo
iniciamos y luego volvemos a poner la fecha actual, pasa algo como esto…
https://www.dragonjar.org/saltando-y-asegurando-los-periodos-de-prueba-en-el-software.xhtml 2/5
26/2/2019 Saltando y Asegurando los Periodos de prueba en el Software
Windows tampoco se salva de este problema, existiendo incluso software que permite automatizar el procedimiento
para que cuando se inicie un programa especifico, se cambie la fecha del sistema solo para este programa, sin
cambios aparentes para el resto de programas, una de las herramientas utilizadas para realizar esta función es
Cracklock, que desde hace mas de 10 años y según su descripción, permite eliminar el virus “30th day” que te
impide utilizar el software después de pasado X tiempo (guiño guiño).
https://www.dragonjar.org/saltando-y-asegurando-los-periodos-de-prueba-en-el-software.xhtml 3/5
26/2/2019 Saltando y Asegurando los Periodos de prueba en el Software
Otros desarrolladores hacen uso del registro en windows, archivos en mac o una combinación de ambos, para
limitar por ejemplo el numero de veces que se puede ejecutar antes de comprar un software, esto puede ser un
poco mas tedioso de identificar, pero igual podemos utilizar herramientas como RegeMon, FileMon o la
reciente integración de estos 2 ProcessMon, para intentar saber donde esta guardando esta información el software
y deducir que tipo de protección utilizado para el periodo de prueba.
Monitor de Archivos
https://www.dragonjar.org/saltando-y-asegurando-los-periodos-de-prueba-en-el-software.xhtml 4/5
26/2/2019 Saltando y Asegurando los Periodos de prueba en el Software
En alguna ocasión vi como un software contable, utilizaba la fecha de creación de su ejecutable para validar su
periodo de prueba, bastaba con usar la famosa herramienta antiforense Timestomp, para cambiar esta fecha y
modificar a nuestro favor el tiempo que duraba este periodo de prueba.
Si empiezas a experimentar con esto de los periodos de prueba o las limitaciones del software por tiempo,
seguramente te puedes encontrar con aplicaciones en las que te sea muy complejo descubrir como realizar
sus validaciones, pero no todo esta perdido, para estas situaciones podrías utilizar herramientas
como SandBoxie que te permite ejecutar el software dentro de una caja de arena, utilizarlo y al cerrarlo, la caja de
arena será limpiada haciendo que el software quede “detenido en el tiempo”, ejecutandose siempre como si fuera la
primera vez…
No introduzcas todas las funcionalidades del software en tu periodo de prueba o por lo menos limítalas.
Es uno de los errores mas comunes cometidos por los desarrolladores, la idea de un periodo de prueba es darle
una pequeña muestra de tu software al posible cliente, si con la versión de prueba pueden resolver su problema..
para que te van a comprar el producto?, si limitas las funcionalidades del software, recuerda que debes anunciarle
al posible cliente que esta limitante quedará eliminada tan pronto compre el producto.
Valida la fecha con servidores externos.
Como puedes ver la fecha del sistema es fácilmente modificable, si es posible valida la fecha actual con un
servidor externo, para que tu software no se ejecute mas tiempo del necesario para motivar al cliente de comprar
el producto… ese es el motivo de los periodos de prueba ¿no?.. el inconveniente es
que necesitarían una conexión a internet pero ¿quien no la tiene en estos días?.
Combina las Validaciones
Si puedes combinar las fuentes donde sacas la información para validar tus aplicaciones, registro, archivos,
servidores externos, hazlo.
Impide la ejecución en Maquinas Virtuales
Esta es una decisión que podría afectar a clientes verídicos, pero puedes impedir que tu aplicación se ejecute en
maquinas virtuales y cajas de arena, anunciando que la versión de prueba no permite esta función, pero con la
versión completa no tendrán ese problema.
Compartenos la medida de aseguramiento agregarias a la lista? o un metodo que has utilizado para saltar alguna de
ellas…
https://www.dragonjar.org/saltando-y-asegurando-los-periodos-de-prueba-en-el-software.xhtml 5/5