MMKV Key-Value Store
| Format | MMKV Key-Value Store |
|---|---|
| Short name | MMKV |
| Category | database |
| Platforms | Windows, macOS, Linux, iOS, Android |
| Crush support | Supported (MMKVParser) |
| Status | Reviewed |
| Last reviewed | 2026-10-04 |
Forensic relevance
Tencent's mmap-backed key-value store (github.com/Tencent/MMKV, BSD-3-Clause), used by many Android and iOS apps in place of SharedPreferences or NSUserDefaults — including WeChat, TikTok, Temu, SHEIN, Xiaohongshu, Weibo, Discord and Coinbase. Usually found as a file named mmkv.default (the library's default instance) inside a folder literally named mmkv, alongside a same-named <name>.crc sibling file carrying integrity/encryption metadata. Has no magic bytes, so it cannot be auto-detected. The store is append-only between rewrites: setting a key appends a new entry rather than editing the old one, so superseded values and removed keys (recorded as a zero-length value, not a real deletion) remain recoverable in file order until the next full rewrite. Optionally AES-CFB encrypted, with the key stored by neither file — decryptable if the app's key is known.
Signatures
None recorded
Known extensions
None recorded
References
- Tencent/MMKV (upstream project) https://github.com/Tencent/MMKV
- MMKV design deep dive (Tencent/MMKV wiki) https://github.com/Tencent/MMKV/wiki/design_eng
- abrignoni/mmkv-parser — reference reader crush's parser is built on (MIT) https://github.com/abrignoni/mmkv-parser
- You down with MMKV? (LEAPPs Blog, Alexis Brignoni) https://leapps.org/blog-post?post=2026-09-04-you-down-with-mmkv
Cite this entry
Crush Format Reference, “MMKV Key-Value Store”. https://kalink0.github.io/crush-forensics/formats/mmkv/ — source: crush/data/build_formats_db.py at commit 640a2a9928f4e36a976b89901512a8dce824d093, built 2026-10-21 06:46:19 UTC.
Entry in the source at this commit · Change history of the source · Report a correction