Ir al contenido principal

Disquettes llave: económicos, simples y efectivos.

Sí, suena a tecnología antigua... Posiblemente haya personas que todavía no habrían nacido cuando la apliqué, pero el caso es dejar constancia de ella, es muy probable que se pueda seguir empleando los años venideros.

En el año 1997, D. Julián Moreno Clemente, Doctor Ingeniero jubilado de Industria y profesor emérito de la Universidad de Málaga, me localizó por dos vias: por un lado, una compañera de clase, Maricruz Cortés, le habló de mí; y por otra parte, del Departamento de Ingeniería Eléctrica, en el que ya hacía algunas de mis cabriolas técnicas, también le facilitaron mi teléfono.

El planteamiento era sencillo: necesitaba algún método de protección para los libros de Excel con los que él había descubierto que podía emplear, sin utilizar un programador profesional, y hacer llegar a todos los ingenieros, presentes y futuros, esos cálculos. El hecho de querer protegerlos se debió principalmente a que no fuera algo gratuito, sino que ése sería el último paso.

En aquellos entonces, estaba a plena potencia con Visual Basic 6, un lenguaje de programación que, si bien no era el C o Assembler que había empezado a utilizar años anteriores, daba suficiente juego como para hacer aplicaciones de gestión con relativa facilidad. Pero una hoja Excel... no sabía muy bien qué hacer con ella, hasta que descubrí VBA (Visual Basic para Aplicaciones): Es una versión muy limitada  del VB6 pero permitía hacer algunas cosas graciosas, y conseguí hacer una que, incluso hoy día (30 de julio de 2018), sigue estando plenamente activa.

En la API de Win32 de Microsoft, existe una librería, llamada 

GetVolumeInformation

mediante la cual, pasándole los apropiados parámetros, te puede devolver el tamaño del nombre del sistema de archivos. Esto no sería interesante si no fuera porque encontré un programa que, al formatear un disco de 3.5 pulgadas, se le podía modificar a voluntad este parámetro en la cabecera del disco, de forma tal que si intentabas copiar de un disco a otro, te copiaba el contenido de forma errónea. 


Así pues, gracias a esta librería y a este descubrimiento, más de 10.000 disquetes se realizaron, y toda la obra se protegió, incluida una versión de su programa de cálculo de líneas eléctricas, protección que se tuvo que realizar en Turbo Pascal, empleando Ensamblador... Para finalmente liberar toda protección y ofrecerla sin restricciones al público.

Comentarios

  1. Ah, qué buenos tiempos aquellos, nuestra cuenta Twitter @ks7000 todavía tiene el icono de un diskette, al recordar se vive dos veces, nunca pensé que alguien se recordara de esa función (de hecho, yo la había olvidado), acá la traigo de nuevo ¡enhorabuena por vuestro nuevo blog!

    Function GetSerialNumber(ByVal drive As String) As Long
    Dim strVolName As String
    Dim lngVolSerialNumber As Long
    Dim lngMaxComp As Integer
    Dim lngFSFlags As Integer
    Dim strFSName As String
    Dim lngDummy As Long

    strVolName = Space$(256)
    lngFSFlags = 0
    strFSName = Space$(256)
    lngDummy = GetVolumeInformation(drive, strVolName, Len(strVolName), _
    lngVolSerialNumber, lngMaxComp, _
    lngFSFlags, strFSName, Len(strFSName))
    GetSerialNumber = lngVolSerialNumber
    'MsgBox Str(Err.LastDllError)
    'Debug.Print GetSerialNumber
    End Function

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Por qué existe este blog...

Hola a todos. El motivo de la existencia de este blog es querer hacer partícipe a todo el que llegue aquí del conocimiento acumulado a lo largo del tiempo. Son muchos los años en los que me he dedicado a hacer trabajos para las empresas de España, unas veces como autoónomo y otras con mi propia empresa y, estando ésta en las últimas, creo que sería bueno dejar el conocimiento compartido, para la posteridad. Por eso también utilizo una plataforma gratuita, ya que no sé el tiempo que podría mantenerla.

Cryptohacking Volumen I

Hola de nuevo, otra entrada al blog para contar batallitas... Ésta es algo peculiar y liosa, y tiene literatura porque si no, no se entenderá. Allá por el año 1995, me encontré que tenía cierto don para la escritura (¡¡¡¡no!!!! ¿a que no te habías dado cuenta?) Algo en mi interior se desbocó y escribí 5 libros, 17 relatos cortos y una obra de teatro, en 2 años. Uno de esos libros, el protagonista se llamaba Jenhyal (que posteriormente fue el nombre que utilicé en el Und3rgr0und), y un segundo personaje, Kirzahk (lavin! -esto me lo han pegado los granainos-), a buen entendedor, pocas palabras bastan. En las introducciones a los libros, descubrí que me apasionaban los números, los mensajes cifrados y ocultos. Se me fue la pinza sacando un número de teléfono de la Biblia y a medida que profundizaba, parecía no tener fin el asunto. En 1997, arruinado de hacer fotocopias de mis libros, decidí dedicarme a algo más instructivo, y empleando mi vena de programador, no tardé en ser