Login Barrapunto
¿Cómo descifrar los datos de una aplicación antigua de MSDOS?
Entrada escrita por petiflas y
editada por Candyman
el Martes, 07 Diciembre de 2010, 07:38h
desde el dept. ingeniería-en-verso
desde el dept. ingeniería-en-verso
Me he encontrado en una situación que seguramente muchos de ustedes se han encontrado, un cliente me ha venido con una aplicación del año 91 que corre en MSDOS y necesita extraer los datos de la base de datos para insertarla en una aplicación más actual. He localizado el archivo donde se guarda dicha información, lo que al abrirla con distintas aplicaciones (gedit, hojas de cálculo) no consigo averiguar que codificación usa. Me imagino que la aplicación está hecha en Cobol, Fortran, Basic o algo semejante, ¿alguna idea?
« Crisol - IV Encuentro Estratégico Software Libre en Buenos Aires | A favor y en contra de la postura de los controladores aéreos »
¿Cómo descifrar los datos de una aplicación antigua de MSDOS?
|
Log in/Crear cuenta
| Top
| 34 comentarios
| Buscar hilo
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.

Podemos probar
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Jueves, 04 Octubre de 2007, 18:12h )
¿Qué extensión tiene?
Aprovechando que es puente si quieres puedes enviarlo y probamos a ver que se puede sacar.
Si hay varios ficheros envía uno pequeño.
Lo que hace el aburrimiento.
No estás usando los programas adecuados
(Puntos:3, Informativo)( http://www-etsi2.ugr.es/alumnos/mu01/guerraSoftware.html | Última bitácora: Viernes, 10 Diciembre de 2010, 08:31h )
Aunque probablemente use un formato propio en cuyo caso estás jodido, pues es muy difícil y costoso llegar a sacar los datos mediante ingeniería inversa. Pero si aún así quieres echar un vistazo al contenido del archivo, no debes usar un editor de texto como gedit, sino un editor hexadecimal como hexedit.
Gdado dice roller [sourceforge.net]
Ui!
(Puntos:1)( http://www.masquejuegos.es/ )
Había herramientas (todavía) de pago para convertir esos archivos a DBase, pero al final pude obrar para recuperar 4 datos que eran los que realmente le interesaban.
Aparte de los formatos propios de QBasic y Turbo Pascal para guardar arrays, las primeras versiones del DBase eran muy populares también en MSDOS.
Desafortunadamente si no son "DBase" no creo que exista una técnica mágica para sacar ese formato. Aún así, te recomiendo hecharle un vistazo (binario) al EXE, a ver si averiguas algo desde ahí.
Puedes imprimir?
(Puntos:5, Interesante)( Última bitácora: Jueves, 22 Octubre de 2009, 13:43h )
Lo primero
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Miércoles, 13 Octubre de 2010, 00:50h )
¿Se acabaron los sudokus?
(Puntos:1, Informativo)¿1991? Yo voto por Clipper (dbase compilado)
Ayudaría un mensaje de error (parametros incorrectos, ficheros no encontrados) o saber si utiliza algún "runtime library".
La versión bruta: Cambiar datos en un registro, localizar cambios y mirar formato en hexadecimal.
Ap. del año 91 en DOS?
(Puntos:1)( http://www.voluntariado.net/ | Última bitácora: Domingo, 12 Diciembre de 2010, 15:11h )
Impresora virtual.
(Puntos:3, Divertido)Al ser una aplicación de gestión tiene que tener por narices, a no ser que sea rematadamente mala, una función de impresión de listados de los distintos maestros que la componen.
Si es así, es tan fácil como volcar un listado de cada maestro a una impresora virtual (hay muchos programas al efecto), y desde ahí, con un sencillo script, filtrar la información hacia un formato más o menos legible e importarlo en la aplicación destino.
Esto lo he hecho infinidad de veces sobre aplicaciones antiguas DBase/Clipper, hacia programas ERP de pelajes variados. Es sólo cuestión de adaptar el formato a la aplicación de destino y fuera.
En serio, dejad de mirar formatos de archivo y ponerse a hacer ingeniería inversa...
Saludos.
Btrieve?
(Puntos:2)Para detectarlo, mira si en autoexec.bat tienes algo como btrieve, btrv o similar. Si es así puedes estar un poquito j*d*d*, pues se solían usar técnicas de codificación de algunos datos (fechas, números) para ocupar menos. ADEMAS tendrías que escribir un programa que exportase los datos a "algo". Necesitarías la estructura del fichero. Pero se puede hacer.
Si es Clipper y ves cosas raras en los archivos, te puede ayudar buscar valkyrie Clipper en Google }:-)
Luego habían cosas extrañas como crystal boriar... Pero por lo menos, como te han preguntado, si dices que extensión tienen los archivos...
Usa GNU/Linux en tu colegio: LinuxEnClase.ORG [linuxenclase.org]
Ficheros de acceso aleatorio
(Puntos:1)( Última bitácora: Viernes, 10 Septiembre de 2010, 19:20h )
Estos ficheros se usaban como alternativa a los ficheros de acceso secuencial, en los que era necesario comenzar por el principio y seguir leyendo los registros de uno en uno hasta llegar al que querias. Este segundo tipo de archivos era muy utilizado por los programadores en Cobol, ya que les permitia tener una estructura de registros variable, y el tamaño de cada registro era diferente (esto lo se por referencias y mi informacion no es del todo fiable).
Para los archivos de indice, Btrieve era el sistema mas popular, ya que se ocupaba de almacenar tambien los datos. A mi, personalmente, nunca me gusto, y en mi empresa utilizabamos unas rutinas ISAM que se llamaban FABSPC. Lo que nos convencia para decantarnos por ellas era que no se ocupaban para nada del fichero de datos: simplemente, tenias las operaciones de insertar clave, borrar clave y recuperar clave (basicamente) y te daba un numero de registro que es el que debias usar para hacer las mismas operaciones en tu fichero de datos. Eso significa que, a partir del fichero de datos, puedes regenerar el de indices y no era necesario incluirlo en las copias de seguridad (tener en cuenta que, en aquellos tiempos, muchas maquinas usaban discos flexibles de 5.25 y 360 Kb por disco).
Otro problema adicional, es la codificacion de los datos dentro del fichero: cuando se trataba de guardar un numero entero, no se guardaban los 6 bytes que corresponden a un entero y su signo (-32768,32768), sino que se guardaban los dos bytes que ocupa en memoria (los discos duros eran muy pequeños y muy caros: en 1986 compre un disco de 10 Mb por 150.000 pesetas). Problema que se hace mucho mas peliagudo cuando se trata de numeros en coma flotante y considerando que cada programador se buscaba la vida como podia.
Tambien recuerdo un colega que usaba un lenguaje muy muy raro, en el que los datos se almacenaban en el propio fichero ejecutable. Realmente pintoresco.
En cualquier caso, ayudaria mucho ver que ficheros se usan: nombre y extension, y sobre todo, ver que diferentes extensiones se asocian al mismo fichero.
Suerte, y si quereis que el viejo Gandalf le eche un vistazo, me lo decis.
Re:Comprate un libro de Norton
(Puntos:1)( http://www.voluntariado.net/ | Última bitácora: Domingo, 12 Diciembre de 2010, 15:11h )
No puede haber ningun problema en saber como se lee el formato, porque incluso en el mas complicado de los sistemas se puede hacer ingenieria inversa.
Ponle un precio al trabajo, y podras saber si te sale mas a cuenta copiar la información a mano, o desensablar un codigo chiquitín, o incluso pagar al constructor de la aplicación original (solo hace 19 anyos).