Protein Data Bank (.pdb)
Palm EstándarPalm OS Database (PDB) es el formato nativo de almacenamiento por registros de la antigua plataforma portátil Palm OS. Sirve de contenedor para los primeros libros electrónicos digitales, como PalmDOC y Peanut Press.
Inspección y metadatos
Los sistemas operativos y analizadores de archivos identifican los archivos de PDB inspeccionando la secuencia de bytes binarios inicial:
Firma de cabecera a nivel de bytes (bytes mágicos)
Los sistemas operativos y analizadores de archivos identifican los archivos de PDB inspeccionando la secuencia de bytes binarios inicial:
FIRMA HEXADECIMAL (DESPLAZAMIENTO 60):
52 45 41 44 50 72 73 73REPRESENTACIÓN ASCII: READPrss
Estandarización: Palm OS File System Architecture Specification
Especificaciones técnicas
| Arquitectura del contenedor | Cabecera de base de datos Palm de 78 bytes, seguida de una lista de desplazamientos de registros y de sus datos binarios |
| Compresión | Compresión de bytes PalmDOC LZ77 por secuencias o registros sin comprimir |
| Orden de bytes (Endianness) | Big-endian (orden de bytes Motorola 68000) |
| Espacios de color | N/A (Contenedor de base de datos) |
| Canales y estructura | Registros de bases de datos de uso general (direcciones, notas, calendario y libros eReader) |
| Dimensiones máximas | Cada registro puede ocupar hasta 65 535 bytes (los bloques de texto PalmDOC suelen ser de 4096 bytes) |
| Transparencia | Ninguna |
| Streaming y progresivo | Índice de registros con acceso aleatorio |
Matriz de comparación técnica: PDB frente a la competencia
| Atributo técnico | PDB (Actual) | MOBI | EPUB | TXT |
|---|---|---|---|---|
| Herencia de plataforma | Palm Pilot / Palm OS (1996) | Mobipocket / primeros Kindle (2000) | Web universal / W3C (2007) | Computación universal (1963) |
| Arquitectura de registros | Tabla de registros Motorola 68k big-endian | Derivada de PalmDOC con cabecera MOBI | Archivo ZIP de XHTML y CSS | Flujo de bytes sin procesar no estructurado |
| Tamaño máximo de registro | 4096 bytes por bloque de texto | 4096 bytes por bloque de texto | Documentos XHTML ilimitados | Flujo de bytes ilimitado |
| Uso activo | Archivo histórico / informática retro | Lectores electrónicos heredados | Formato de publicación estandarizado por el W3C; su uso varía según el ecosistema de lectura | La compatibilidad varía según la aplicación. |
Modos de corrupción comunes y guía de recuperación hexadecimal
El programa indica «Invalid Palm database record offset table» (tabla de desplazamientos de registros de base de datos Palm no válida).
Causa raíz: La lista de desplazamientos de registros está dañada o el archivo se truncó y faltan datos de registros.
Recuperación: Reconstruye los desplazamientos de registros o extrae el texto PalmDOC sin procesar con Palm Converter de File2File.app.
Análisis de seguridad y vectores de ataque al analizador
Los descodificadores PDB procesan campos de 16 bits con el número de registros. Si no se limitan, pueden provocar accesos fuera de los límites de memoria.
Vectores de ataque conocidos
- Desbordamiento de enteros al asignar memoria para la tabla de desplazamientos de registros.
- Desbordamiento de búfer durante la descompresión PalmDOC LZ77.
- Denegación de servicio mediante punteros de recuento de registros dañados.
Mejores prácticas defensivas: Antes de leer el archivo, Valida que los desplazamientos declarados de todos los registros no superen su longitud real.
Orígenes históricos e hitos
Ventajas principales
- Fue la base de la lectura digital en dispositivos portátiles y de las primeras aplicaciones móviles de bases de datos.
- Su reducido consumo de memoria permitía ejecutarlo en dispositivos Palm con solo 512 KB de RAM.
- La arquitectura por registros permitía buscar y recuperar datos casi al instante en procesadores móviles de bajo consumo.
Limitaciones técnicas
- Está muy obsoleto: para abrir estos archivos en sistemas modernos se necesitan emuladores antiguos especializados o herramientas de conversión.
- La extensión .pdb es ambigua: también se usa para los archivos de símbolos de depuración Program Database de Microsoft y para archivos moleculares del Protein Data Bank.
- Tiene límites estrictos de 64 KB por registro y requiere el orden de bytes big-endian.
Curiosidades técnicas interesantes
- Los códigos de tipo y creador en el desplazamiento 60 identifican el propósito del archivo: 'BOOKMOBI' para Mobipocket, 'TEXtREAd' para PalmDOC y 'READPrss' para Peanut Press.
- Jeff Hawkins creó una maqueta del PalmPilot con un bloque de madera tallado y un lápiz óptico también tallado a mano.
- Algunas aplicaciones médicas de consulta para Palm OS almacenaban datos sobre fármacos y referencias clínicas en archivos PDB para acceder a ellos desde dispositivos de mano.
Preguntas técnicas frecuentes
¿Por qué mi ordenador reconoce el archivo PDB como un archivo de símbolos de Visual Studio?
Microsoft Visual Studio usa la extensión .pdb para archivos de símbolos de depuración Program Database. Las bases de datos de los dispositivos Palm OS usan la misma extensión de tres letras, lo que provoca conflictos de asociación de archivos en Windows.
¿Cómo puedo convertir un libro electrónico Palm PDB a PDF o EPUB?
Puedes subir el archivo Palm .pdb a File2File.app para extraer el texto y convertirlo al instante a EPUB, PDF o TXT moderno.
¿Qué era PalmDOC?
PalmDOC fue uno de los primeros formatos de libro digital. Guardaba texto comprimido en bloques de 4096 bytes dentro de un contenedor PDB de Palm OS para leerlo en los primeros PalmPilot.