En primer lugar, no creo que podría hacer más en un "análisis rápido" que proporcionan un "formato posible". Además, es muy difícil imaginar que cualquier técnica rápida pueda ser confiable.
Los archivos DBASE utilizan comúnmente la extensión .dbf. Existen variantes del formato de archivo dBase utilizado por FoxPro y Clipper. Wikipedia los documenta como xBase. Cualquier biblioteca de dBase que pueda abrir archivos dBase probablemente también sea capaz de (a) mostrar que este es, de hecho, un verdadero archivo dBase abriéndolo, y (b) permitirle ver qué variantes soportadas del formato de archivo xBase están en uso. .
archivos de acceso son por lo general utilizando el formato de archivo .mdb, pero se pueden cifrar con una contraseña. Probablemente puedas escribir tu propia biblioteca que pueda identificar postiáticamente el contenido interno como "motor de la base de datos Jet" (tipo de archivo interno utilizado por Access) pero no leer el contenido, pero dudo que a menos que se rompa la contraseña, podrías haz esto de manera confiable
archivos de FileMaker pueden tener muchas extensiones de archivo, y sus formatos de archivos internos no están bien documentados. Según wikipedia, .fm .fp3 .fp5 y .fp7 son extensiones de archivo comunes. Tendrá problemas de "contraseña" similares con las bases de datos de filemaker, como con Access. No conozco ninguna forma de leer archivos filemaker en Delphi excepto a través de ODBC, y aun así, no creo que pueda proporcionar un "omni-reader" en Delphi que funciona con ODBC, ya que ODBC requiere una configuración y conocimiento cuidadosos. del archivo de origen en una fuente de datos odbc antes de que sea legible a través de ODBC. Explorar/Descubrir no es una fase admitida por ODBC.
Los archivos SQLite pueden tener cualquier extensión de archivo. La forma más fácil de tratar de detectarlo sería cargar/abrir el archivo usando SQLite y ver si se abre.
El resto de la lista es más o menos infinita, y la técnica sería la misma. Simplemente continúe desplegando más motores de base de datos y acceda a las bibliotecas de capa en su herramienta de detección de base de datos Katamari Damaci.
Si quieres comenzar con formatos de bases de datos viejos como pareces, investigaría usando BDE (antiguo, pero oye, estás hablando de cosas antiguas), además de ADO, para tratar de autodetectar y abrir archivos.
Seguramente conoce las extensiones de archivo. En segundo lugar, seguramente es consciente de que quizás muchos programas NO utilicen ningún formato de archivo de base de datos, y que la cantidad de formatos de archivos binarios privados en el mundo sea para todos los efectos, incontable. –
@Warren: estoy buscando específicamente en el software de genealogía. Tienden a utilizar controladores de base de datos dentro de sus programas, pero guardan sus datos en el disco como archivos de proyecto con sus propias extensiones propietarias. Yo, por ejemplo, usaré DISQLite3 y guardaré mi archivo .bhp en formato SQLite. – lkessler
Pero es de esperar que los archivos de base de datos "renombrados" a menudo no estén en su formato "nativo". Creo que a menudo están encapsulados en una estructura más grande ("contenedor") con alguna otra información (no DB) y tal vez compresión. Al menos lo hago con mis proyectos. – Andreas