# Lignage d’encodage binaire des magasins KV : RDB, SSTable, LevelDB, RocksDB, Memcached

Décode au byte près des artefacts binaires de magasins clé-valeur : instantanés RDB Redis, enregistrements WAL LevelDB/RocksDB, footers SSTable, paquets binaires Memcached, en-têtes de pages BoltDB et LMDB — avec diff hexadécimal du keyspace et matrice d’expiration TTL.

> Page canonique: https://elysiatools.com/fr/tools/rdb-sstable-leveldb-rocksdb-memcached-binary-key-value-store-encoding-lineage

- **Catégorie:** Converter

- **Mots-clés:** décodeur rdb redis, footer sstable rocksdb, format log leveldb, protocole binaire memcached, forensique kv store, crc64, décodeur listpack, page boltdb, en-tête lmdb

## Présentation

Un décodeur forensique des encodages binaires de la famille des magasins KV.

Artefacts pris en charge et contenu développé :

· Redis RDB — magie "REDIS" + version ASCII, champs AUX (opcode 0xFA), SELECTDB (0xFE), RESIZEDB (0xFB), opcodes d’expiration FD/FC, tous les types de valeurs, des chaînes simples (int8/16/32 et compressées LZF) jusqu’à list, set, zset (scores ASCII et doubles binaires), hash, zipmap, ziplist, intset, quicklist v1 et v2, listpack hash/zset/set (types 16/17/18/20), avec vérification de la trame CRC-64 Jones.
· WAL LevelDB / RocksDB — blocs de 32 Kio, en-têtes d’enregistrement de 7 octets (CRC32C masqué, longueur u16, types FULL/FIRST/MIDDLE/LAST), trailers à zéro.
· SSTable LevelDB / RocksDB — footer hérité de 48 octets (BlockHandles metaindex/index en varint64 complétés à 40 octets + magic little-endian 0xdb4775248b80fb57 / 0x88e241b785f4cff7), compression par préfixe avec points de redémarrage.
· Protocole binaire Memcached — en-tête de 24 octets (magie 0x80/0x81, opcode, répartition key/extras/value, vbucket ou statut, opaque, CAS), extras par opcode tels que flags + expiration.
· BoltDB — en-tête de page de 16 octets et magic de méta-page 0xed0cdaed ; LMDB — drapeaux d’en-tête MDB_page (le format est célèbre pour n’avoir aucun nombre magique).

Collez un second instantané RDB pour obtenir un diff du keyspace (clés ajoutées/supprimées/modifiées/TTL décalé) et une matrice d’expiration TTL évaluée au temps de référence choisi.

Le chemin RDB est vérifié contre de vraux dumps redis-server 7.2.4 ; les types de valeurs modules et streams (6/7/15/19/21) sont signalés mais non développés.

## Entrées

- **Instantané binaire A (octets hex)** (textarea): e.g. 52 45 44 49 53 30 30 31 31 … (REDIS0011…), or 80 00 00 05 … for a memcached packet
- **Format** (select)
- **Instantané binaire B (hex, base de diff optionnelle)** (textarea): Paste a second RDB snapshot here to get a keyspace diff + TTL drift matrix
- **Temps de référence pour la matrice TTL (secondes Unix)** (number): 1790000000

## Quand l'utiliser

- Auditer l'intégrité ou inspecter la structure interne d'un instantané binaire RDB Redis et valider son CRC-64.
- Comparer deux captures d'état de base de données pour identifier les clés ajoutées, supprimées, modifiées ou ayant dérivé en TTL.
- Déboguer des trames réseau Memcached ou des en-têtes de pages de stockage bas niveau (LevelDB, RocksDB, BoltDB, LMDB).

## Fonctionnement

- Collez la chaîne d'octets hexadécimaux de l'artefact binaire à examiner et sélectionnez le format cible ou la détection automatique.
- Renseignez facultativement un second flux hexadécimal dans le champ B et ajustez l'horodatage Unix de référence pour l'évaluation des expirations.
- Le moteur identifie les nombres magiques, décode les conteneurs internes (listpack, quicklist, intset, BlockHandles) et vérifie les sommes de contrôle (CRC32C, CRC-64 Jones).
- Consultez le rapport détaillé présentant la chronologie des opcodes, le décompte des clés, la matrice de TTL et le diff comparatif A/B.

## Cas d'usage

- Expertise forensique d'instantanés Redis pour inspecter les encodages mémoire compacts et vérifier l'intégrité des données avant restauration.
- Analyse de blocs WAL ou de footers SSTable lors du diagnostic de corruption sur des moteurs de stockage RocksDB ou LevelDB.
- Inspection de paquets réseau capturés pour valider le respect de la spécification du protocole binaire Memcached.

## Questions fréquentes

### Quels types de conteneurs Redis RDB sont pris en charge lors du décodage ?

L'outil décode les chaînes brutes et compressées LZF, les listes, ensembles, zset, zipmap, ziplist, intset, quicklist v1/v2 ainsi que les listpack récents (types 16 à 20).

### Comment fonctionne la comparaison différentielle entre deux instantanés RDB ?

En fournissant un second dump hexadécimal, le comparateur identifie les clés créées, supprimées, les valeurs altérées et les décalages d'expiration par rapport au premier.

### La validation des sommes de contrôle est-elle automatique ?

Oui, le décodeur vérifie automatiquement la trame CRC-64 Jones finale pour les fichiers RDB et le CRC32C masqué pour les blocs WAL LevelDB/RocksDB.

### Les structures de modules et streams Redis sont-elles prises en compte ?

Les types de données spécifiques aux modules et streams Redis (opcodes 6, 7, 15, 19, 21) sont reconnus et signalés dans le rapport, mais leurs sous-champs ne sont pas détaillés.

### Quelles informations sont extraites des paquets Memcached binaires ?

L'en-tête de 24 octets est décomposé pour afficher le magic, l'opcode, le statut ou vBucket, l'identifiant opaque, le CAS et les données extras (drapeaux et expiration).

## Outils associés

- [Désobfuscateur JavaScript](https://elysiatools.com/fr/tools/javascript-deobfuscator): Désobfusque et analyse le code JavaScript obscurci pour améliorer la lisibilité et la compréhension
- [Évaluateur d’élagage Parquet par filtres bloom, zone maps, dictionnaires et statistiques de colonnes](https://elysiatools.com/fr/tools/parquet-bloom-filter-zonemap-dictionary-and-column-statistics-pruner-evaluator): Décode le footer thrift Parquet et quantifie l’élagage par predicate pushdown : min/max des zone maps, filtres bloom split-block (XXH64), ratios de dictionnaire et encodages, avec des estimations d’économies par groupe de lignes pour des clauses WHERE d’exemple.
- [Décodeur LTSSM et Lane Margining PCIe](https://elysiatools.com/fr/tools/pcie-link-training-linkstate-and-lane-margining-eye-decode): Décode un journal d’apprentissage de lien PCIe (séquence LTSSM + ensembles ordonnés TS1/TS2) : chronologie Gen1-Gen6, vitesse/largeur négociées, bits d’identifiant de débit, inversions de polarité et de lane, phases d’égalisation et diagnostic des redémarrages ; note aussi les rapports de lane margining (CSV pcilmr) et dessine la carte de chaleur de l’œil.
- [Formateur et minificateur SQL](https://elysiatools.com/fr/tools/sql-query-formatter): Embellit ou minifie le SQL avec contrôle total du dialecte (PostgreSQL, MySQL, SQLite, SQL Server/T-SQL, BigQuery, Snowflake, etc.), de la casse des mots-clés/identifiants/fonctions, du style d’indentation (standard, tabulaire gauche/droite) et des lignes entre instructions. Produit un résultat coloré et prêt à copier avec des statistiques de taille et d’instructions.
- [Convertisseur TIFF vers PDF](https://elysiatools.com/fr/tools/tiff-to-pdf): Convertir les images TIFF au format PDF avec taille de page, orientation et paramètres de compression personnalisables
- [Générateur moderne d'identifiants uniques](https://elysiatools.com/fr/tools/uid-generator): Génère des identifiants modernes : ULID, NanoID, Snowflake et CUID2. Comparez les formats, décodez l'horodatage ULID.
- [Décodeur de certificats X.509](https://elysiatools.com/fr/tools/certificate-decoder): Analyse un certificat X.509 SSL/TLS (coller PEM ou téléverser .pem/.crt) et inspecte sujet, émetteur, période de validité avec statut d'expiration, clé publique, algorithme de signature, série, SAN, usage de clé et empreinte. Comme openssl x509 -text, en visuel. Local.
- [Convertisseur AVIF vers TIFF](https://elysiatools.com/fr/tools/avif-to-tiff): Convertir les images AVIF au format TIFF avec qualité sans perte, options de compression et flux de travail professionnels

## Exemples

- [Échantillons Convertisseur Hex/Unicode](https://elysiatools.com/fr/samples/text-hex-unicode-formats): Échantillons de test pour la conversion de séquences d'échappement hex et unicode
- [Exemples de Traitement d'Images Android Java](https://elysiatools.com/fr/samples/android-image-processing-java): Exemples de traitement d'images Android Java incluant lecture/écriture, mise à l'échelle et conversion de format
- [Exemples de Traitement d'Images Android Kotlin](https://elysiatools.com/fr/samples/android-image-processing-kotlin): Exemples de traitement d'images Android Kotlin incluant lecture/écriture, mise à l'échelle et conversion de format
- [Exemples de Traitement d'Images Web Python](https://elysiatools.com/fr/samples/web-image-processing-python): Exemples de traitement d'images Web Python utilisant PIL/Pillow incluant la lecture, l'enregistrement, le redimensionnement et la conversion de format
