#parser #tencent #encryption #container #store #read-only #mmkv

bin+lib mmkv-parser

A readonly MMKV implementation (parser) with encryption support

1 unstable release

0.1.2 Feb 11, 2024
0.1.0 Feb 11, 2024

#1230 in Cryptography

MIT/Apache

14KB
287 lines

mmkv-parser

Crates.io License Crates.io Version

A read-only mmkv parser for MMKV containers with support for encrypted mmkv store.

This crate provides methods to parse the mmkv file to a HashMap, which its values can then be parsed into unsigned integer (read_u64), variable-length byte slice (read_container), or UTF-8 String (read_string).

[!WARNING] The encryption implementation is different from the rust mmkv crate. Notably, the mmkv crate uses aes-128-eax, while the Tencent C++ MMKV implementation uses aes-128-cfb.

Encrypted mmkv store

There'll be an extra filename.mmkv.crc header file, which contains crc and IV fields. You'll also need to provide the key (not within those 2 files) to decrypt the mmkv store. See src/bin/mmkv.rs for details.

License

One of the following:

  • MIT License
  • Apache 2.0

Dependencies

~0.3–1MB
~23K SLoC