Protein Data Bank (.pdb)
Specyfikacja StandardPalm OS Database (PDB) to natywny format przechowywania danych oparty na rekordach, używany na historycznej platformie komputerów kieszonkowych Palm OS. Stanowił kontener dla wczesnych cyfrowych e-booków, w tym PalmDOC i Peanut Press.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki PDB, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki PDB, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 60):
52 45 41 44 50 72 73 73REPREZENTACJA ASCII: READPrss
Normalizacja: Specyfikacja architektury systemu plików Palm OS
Specyfikacja techniczna
| Architektura kontenera | 78-bajtowy nagłówek bazy danych Palm, po którym następuje lista przesunięć rekordów oraz sekwencyjne binarne dane rekordów |
| Kompresja | Kompresja bajtów metodą kodowania długości serii PalmDOC LZ77 lub nieskompresowane surowe rekordy |
| Kolejność bajtów (Endianness) | Big-endian (porządek bajtów Motorola 68000) |
| Przestrzenie kolorów | Nie dotyczy (kontener bazy danych) |
| Kanały i struktura | Rekordy bazy danych ogólnego przeznaczenia (adresy, notatki, kalendarz, książki eReader) |
| Maks. wymiary | Rekordy ograniczone do maksymalnie 65 535 bajtów każdy (zazwyczaj 4096 bajtów na segment tekstu PalmDOC) |
| Przezroczystość | Brak |
| Streaming i progresywne ładowanie | Indeksowanie listy rekordów umożliwiające swobodny dostęp do poszczególnych rekordów |
Techniczna macierz porównawcza: PDB a konkurencja
| Atrybut techniczny | PDB (Bieżący) | MOBI | EPUB | TXT |
|---|---|---|---|---|
| Dziedzictwo platformy | Archiwizacja i komputery retro | Mobipocket / Wczesny Kindle (2000) | Uniwersalna sieć / W3C (2007) | Uniwersalne przetwarzanie danych (1963) |
| Architektura rekordów | Tabela rekordów Motorola 68k Big-Endian | Pochodna PalmDOC z nagłówkiem MOBI | Archiwum ZIP zawierające XHTML i CSS | Surowy, Niestrukturalny strumień bajtów |
| Maksymalny rozmiar rekordu | 4096 bajtów na segment tekstu | 4096 bajtów na segment tekstu | Nieograniczone dokumenty XHTML | Nieograniczony strumień bajtów |
| Aktywne użycie | Archiwizacja / Komputery retro | Starsze czytniki e-booków | Obecny globalny standard e-booków | Obsługa zależy od programu. |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Oprogramowanie zgłasza błąd: „Nieprawidłowa tabela przesunięć rekordów bazy danych Palm”.
Główna przyczyna: Uszkodzona lista przesunięć rekordów lub ucięty plik, w którym brakuje części danych rekordów.
Odzyskiwanie: Odbuduj listę przesunięć rekordów lub wyodrębnij surowy tekst PalmDOC za pomocą konwertera Palm File2File.app.
Analiza bezpieczeństwa i wektory ataku na parser
Dekodery PDB przetwarzają 16-bitowe pola liczby rekordów, które mogą wywołać naruszenia granic pamięci, jeśli nie zostaną ograniczone.
Znane wektory ataku
- Przepełnienie liczbowe (integer overflow) podczas alokacji pamięci dla tabeli przesunięć rekordów.
- Przepełnienie bufora podczas dekompresji PalmDOC LZ77.
- Atak typu odmowa usługi (DoS) poprzez uszkodzone wskaźniki liczby rekordów.
Najlepsze praktyki obronne: Przed odczytem należy zweryfikować całkowite zadeklarowane przesunięcia rekordów względem fizycznej długości pliku.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Historyczne podstawy kieszonkowego czytania cyfrowego i wczesnych mobilnych aplikacji bazodanowych.
- Bardzo małe zapotrzebowanie na pamięć, dostosowane do urządzeń Palm z zaledwie 512 KB pamięci RAM.
- Architektura oparta na rekordach umożliwiała niemal natychmiastowe wyszukiwanie i pobieranie danych na energooszczędnych mikroprocesorach mobilnych.
Ograniczenia techniczne i wady
- Znaczne przestarzenie: do odczytu na współczesnych systemach operacyjnych wymagane są wyspecjalizowane emulatory starszego sprzętu lub narzędzia konwertujące.
- Niejasne rozszerzenie pliku: rozszerzenie „.pdb” jest również używane przez symbole debugowania Microsoft Program Database oraz pliki cząsteczkowe Protein Data Bank.
- Sztywne limity rozmiaru rekordu do 64 KB oraz wymagania dotyczące porządku bajtów Big-Endian.
Ciekawe informacje techniczne
- Kody typu i twórcy pod offsetem 60 określają przeznaczenie pliku: „BOOKMOBI” dla Mobipocket, „TEXtREAd” dla PalmDOC oraz „READPrss” dla Peanut Press.
- Jeff Hawkins pierwotnie przygotował makietę PalmPilota z wyrzeźbionego drewnianego klocka i ręcznie ociosanego drewnianego rysika.
- Niektóre aplikacje medyczne Palm OS przechowywały w plikach PDB dane o lekach i informacje kliniczne do wykorzystania na urządzeniach przenośnych.
Często zadawane pytania techniczne
Dlaczego mój komputer uważa, że mój plik PDB to plik symboli Visual Studio?
Microsoft Visual Studio używa rozszerzenia „.pdb” dla plików debugowania Program Database. Bazy danych kieszonkowego systemu Palm OS mają to samo 3-literowe rozszerzenie, co powoduje konflikty powiązań plików w systemie Windows.
Jak mogę skonwertować e-booka Palm PDB do formatu PDF lub EPUB?
Możesz przesłać plik Palm .pdb do File2File.app, aby wyodrębnić tekst i od razu przekonwertować go na nowoczesny format EPUB, PDF lub TXT.
Czym był PalmDOC?
PalmDOC był jednym z najwcześniejszych formatów książek cyfrowych. Przechowywał skompresowany tekst w segmentach po 4096 bajtów w kontenerze PDB systemu Palm OS, aby można go było czytać na wczesnych urządzeniach PalmPilot.