exif.tools
Narzędzia danych
Język: Polski

Projekt techniczny

Metodologia i granice bezpieczeństwa

Implementacja faworyzuje pochodzenie danych, minimalną mutację, wyraźną niepewność i powtarzalną weryfikację zamiast konwersji wyłącznie dla wygody.

1. Identyfikacja wejścia

Parser nie opiera się wyłącznie na nazwie pliku. Sprawdza ZIP, OLE, JSON, XML i podpisy tekstowe, a następnie sprawdza elementy pakietu, jeśli ma to zastosowanie. Normalizacja ścieżki odrzuca ścieżki bezwzględne, ukośniki odwrotne, komponenty przejścia, zduplikowane znormalizowane nazwy, szyfrowanie, nieobsługiwaną kompresję, archiwa wielodyskowe, ZIP64, nadmierną liczbę wpisów, nadmierny rozszerzony rozmiar i podejrzane współczynniki kompresji.

2. Czytanie zbędne

Rozdzielany tekst

Maszyna stanu zorientowana na bajty rejestruje nieprzetworzony zakres wartości każdego pola, przestrzegając ograniczników w cudzysłowie, cudzysłowów ze zmianą znaczenia i końcówek linii osadzonych. Oddzielna maszyna stanu zdekodowanego ciągu analizuje to samo wejście. Ich macierze są porównywane przed zezwoleniem na wyjście zachowujące bajty.

OOXML

Czytnik pakietów rozpoznaje relacje w skoroszycie i arkuszu, udostępnione ciągi znaków, style, systemy dat i inwentarze zawartości. Każdy wybrany arkusz jest analizowany raz przez interfejsy API XML DOM przeglądarki i ponownie przez skaner rozpiętości komórek XML. Wartości, tekst formuły i typy przechowywania są uzgadniane.

3. Dopasowanie genu do symbolu

Rekordy referencyjne są indeksowane według zatwierdzonych symboli, poprzednich symboli, aliasów i stabilnych identyfikatorów. Dopasowanie jest klasyfikowane, a nie spłaszczane w jednym zastąpieniu:

Do domyślnej rekomendacji kwalifikują się tylko jednoznacznie obsługiwane mapowania. Mapowania aliasów są domyślnie wyłączone, ponieważ aliasy często mają słabszą semantykę niż poprzednie symbole.

4. Klasyfikacja ryzyka Excel

Jeśli to możliwe, reguły ochrony działają na oryginalnym ciągu znaków, a nie na numerze JavaScript. Wykrywają zera wiodące, długie liczby całkowite, wzorce notacji naukowej, formy miesiąca/daty/godziny, przedrostki formuł, problematyczne rozmieszczenie przecinków, białe znaki na granicy, wzorce cudzysłowów, znaki sterujące i limit długości formuł starszego modelu Excel.

5. Ścieżki wyjściowe

ŹródłoPreferowany pisarzWeryfikacja
UTF-8 CSV/TSV/TXTZastąpienie surowego zakresu bajtów zatwierdzonych pólUmowa czytnika i niezmienione bajty poza zakresami poprawek
XLSX/XLSMZamiana komórek XML arkusza kalkulacyjnego w istniejącym pakiecieOtwórz ponownie dane wyjściowe, potwierdź zmienione komórki, porównaj każdą niezmodyfikowaną, nieskompresowaną część pakietu i porównaj makrobajty
JSON/ODS lub tekst, którego nie można zachować w bajtachNowy minimalny XLSX wykorzystujący jawny tekst i konserwatywne komórki numeryczneOdczyt pakietu i manifest zmian; oznaczone jako konwersja, a nie zachowanie źródła
Tylko skanujBrak danych wyjściowychPakiet inspekcji zawierający inwentarz, ustalenia, ostrzeżenia i metadane uzgodnienia

6. Przypadki zablokowane lub ograniczone

7. Artefakty odtwarzalności

Audyt ZIP obejmuje czytelny maszynowo manifest JSON, zestawy zmian CSV i JSON, ostrzeżenia i podstawowe dane wyjściowe, jeśli takie istnieją. Manifest rejestruje skrót wejściowy, skrót wyjściowy, wersję aplikacji, przepływ pracy, wersję referencyjną, nazwy czytelników, stan uzgodnienia, liczbę zmian, liczbę nierozwiązanych niejednoznaczności i wynik weryfikacji.