# fscalc fscalc ist eine einfache, statische Weboberfläche zur Berechnung von Hex-Offsets innerhalb gängiger Dateisysteme. Das Projekt richtet sich an Entwickler, Forensiker und Systemadministratoren, die schnell Offset-Werte und Adressberechnungen für Dateisystemstrukturen benötigen. ## Hauptfunktionen - Interaktive Berechnung von Hex-Offsets für verschiedene Dateisysteme - **FAT12/16**: Klassische FAT-Dateisysteme mit festem Root-Directory - **FAT32**: Erweiterte FAT-Version mit flexiblem Root-Directory - **NTFS**: Windows New Technology File System - **exFAT**: Extensible FAT mit Zeitstempel-Konverter - Übersichtliche Anzeige und Export von berechneten Werten - Integrierte Hilfswerkzeuge und Utilities (z.B. eingebettete CyberChef-Instanz) - Hex-Rechner für schnelle Berechnungen ## Voraussetzungen - Ein moderner Webbrowser (Chrome, Firefox, Edge) - Node/Python o.Ä. sind nicht zwingend erforderlich, da die Oberfläche statisch ist. ## Installation / Lokale Nutzung 1. Repository klonen oder als ZIP entpacken. 2. Im Projektverzeichnis einen lokalen HTTP-Server starten und `webroot/` als Dokumenten-Root verwenden. Beispiel mit Python 3 (im Projektroot ausführen): ```fish python3 -m http.server --directory webroot 8000 ``` Dann den Browser öffnen und zu `http://localhost:8000/` navigieren. Alternativ kann jeder andere statische Server (z. B. `live-server`, `http-server` aus npm) verwendet werden. ## Projektstruktur (ausgewählte Dateien) - `webroot/` – Statische Weboberfläche - `index.html` – Startseite - `js/calculator.js` – Kernlogik der Offset-Berechnungen - `js/main.js` – Initialisierung und UI-Handling - `js/utils.js` – Hilfsfunktionen - `cyberchef/` – Eingebettete CyberChef-Instanz ## Nutzung / Beispiele - Öffne die Startseite und wähle das gewünschte Dateisystem bzw. die Berechnungsoption. - Gib die Ausgangsadresse/den Sektor und die benötigten Parameter ein. - Die berechneten Hex-Offsets werden sofort berechnet und lassen sich kopieren oder lokal weiterverarbeiten. ### exFAT-Spezifika Der exFAT-Tab enthält zusätzlich einen **Zeitstempel-Konverter**, der die komplexen exFAT-Zeitstempel dekodiert: - Zeitstempel-Wert (4 Bytes) aus Datei-Einträgen - Millisekunden-Feld (1 Byte) - Zeitzone-Feld (1 Byte) mit UTC/Lokal-Kennzeichnung Detaillierte Anleitung: Siehe `exFAT_ANLEITUNG.md` ## Dateisystem-Referenzen - **FAT12/16/32**: Dokumentation in CheatSheet.md - **NTFS**: Interne NTFS-Strukturen und MFT-Berechnungen - **exFAT**: Vollständige Anleitung in `exFAT_ANLEITUNG.md` und Praktikumsdokument `Praktikum 0x05 exFAT (kommentiert).pdf` ## Lizenz BSD-3-Clause (siehe LICENSE)