Emular llave de seguridad

Si bien estamos más acostumbrados a los números de serie asociados a un programa determinado, todavía existen soluciones de hardware para la protección y validación de software, lo vimos con el sistema operativo THEOS que utiliza una combinación de ambos para su instalación.

Aunque la tendencia a SaaS (software como servicio) está cada vez más presente debemos tener en cuenta, dentro del ciclo de vida del software, las implicaciones que pueda tener pasado el tiempo… volvemos a sistemas legacy.

Nos encontramos con un software totalmente obsoleto, incluso el fabricante del mismo ha desaparecido pero sigue siendo necesario para el control de maquinaria, no ha sufrido mucho cambio en… 20 años… Durante este tiempo se han ido sucediendo equipos compatibles, pero empieza a ser difícil convivir entre sistemas con tantas diferencias.

En este caso Windows NT asociado a un dongle HASP4 M1 1.1 en puerto paralelo (LPT), por limitaciones de software el máximo paso que podemos dar es a Windows XP (aunque el soporte finalizo en 2014). Después de prueba y error con varios software emuladores, lectores… encontramos las utilidades de Brain Studio.

Instalaremos el driver HASP v5.22 original si no lo estaba ya, la propia aplicación comprueba drives y servicios activos. Este tipo de software era de pago en su tiempo, bordeando la legalidad y los sistemas de protección por hardware, ha pasado a ser una necesidad.

En la propia página de descarga del emulador esta disponible el generador de claves para registrar el programa, ahora gratuito, será necesario reiniciar y cuando esté operativo totalmente (el recuadro marcado en rojo) aparecerá coloreado.

Con el programa del emulador iniciado, procedemos a ejecutar el programa original que utiliza el dongle de seguridad, cuando el programa pida acceso se registrará el tráfico y comandos enviados a la clave HASP. Aquí es donde debemos anotar la pareja de claves en hexadecimal 7777:0000, las utilizamos en el siguiente paso.

A continuación descargaremos la información de la llave, mediante el HASP4 Dumper y la clave previa ejecutamos en la línea de comandos: «h4dmp.exe 7777 0000». El programa generará un fichero con el nombre de las claves hexadecimales: 77770000.dmp

A partir del volcado generaremos un archivo de registro mediante HASP Analizer: «h4da.exe 77770000.dmp» con el nombre «hasp.reg» en el mismo directorio donde lo hemos ejecutado:

El fichero generado contiene la información de la llave que utilizará el emulador, se elimina el contenido específico del software:

REGEDIT4

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Emulator\HASP\Dump\77BB0676]
"Name"="77BB:0676"
"Copyright"="(C) 1988-2004 Glasha_General_Soft."
"Created"="07 Oct 2020"
"SN"=dword:77407061
"Type"=dword:00000001
"Memory"=dword:00000001
"SecTable"=hex(0):25,9F,4C,DE,65,DF,4C,DE
"NetMemory"=hex(0):FF,FF,FF,FF,FF,FF,00,00,FF,FF,FF,FF
"Option"=hex(0):01,01,00,4A,1F,00,00,00,00,00,00,00,00,00
"Data"=hex(0):50,50,-ELIMINADO-FF,FF,FF,FF
"EDStruct"=hex(0):B3,-ELIMINADO-,A4

Después de reiniciar el equipo virtualizado, volvemos a arrancar el programa, pero esta vez instalando los drivers de emulación desde la parte superior izquierda, en lugar de los originales:

Con el emulador en funcionamiento tendremos el software independiente de la llave física de seguridad, de paso aprovechamos para pasar de Windows NT a XP, no deja de ser una mejora en un entorno industrial aislado en la que son necesarias medidas de seguridad adicionales.

Existen herramientas parecidas para otros tipos de protección hardware USB, gran trabajo de Brain Studio. спасибо!

Deja una respuesta

You have to agree to the comment policy.