Mcdecryptor [2021] Online

MCDeCryptor: The Ultimate Guide to Unlocking Locked Minecraft Worlds

Minimal reference implementation (Python 3) — practical and ready

Save as mcdecryptor.py. Requires cryptography library (pip install cryptography).

#!/usr/bin/env python3
import argparse
import os
import sys
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
from binascii import unhexlify
MAGIC = b"MCDEC01\n"
NONCE_SIZE = 12
TAG_SIZE = 16
def load_key(hexkey):
    if hexkey is None:
        key_hex = os.environ.get("MC_KEY")
        if not key_hex:
            raise SystemExit("No key provided via -k and MC_KEY not set")
        hexkey = key_hex
    try:
        key = unhexlify(hexkey)
    except Exception:
        raise SystemExit("Key must be hex")
    if len(key) != 32:
        raise SystemExit("Key must be 32 bytes (64 hex chars) for AES-256")
    return key
def decrypt_file(in_path, out_path, key):
    with open(in_path, "rb") as f:
        header = f.read(len(MAGIC))
        if header != MAGIC:
            raise SystemExit("Input file has invalid header/magic")
        nonce = f.read(NONCE_SIZE)
        rest = f.read()
    if len(nonce) != NONCE_SIZE or len(rest) < TAG_SIZE:
        raise SystemExit("Input file too short or malformed")
    ciphertext, tag = rest[:-TAG_SIZE], rest[-TAG_SIZE:]
    aesgcm = AESGCM(key)
    try:
        plaintext = aesgcm.decrypt(nonce, ciphertext + tag, header)
    except Exception:
        raise SystemExit("Decryption failed or authentication tag mismatch")
    if out_path:
        with open(out_path, "wb") as out:
            out.write(plaintext)
    else:
        sys.stdout.buffer.write(plaintext)
def main():
    p = argparse.ArgumentParser(description="mcdecryptor: decrypt AES-256-GCM files")
    p.add_argument("-k", "--key", help="Hex-encoded 32-byte key (64 hex chars)")
    p.add_argument("-i", "--input", required=True, help="Input encrypted file")
    p.add_argument("-o", "--output", help="Output plaintext file (defaults to stdout)")
    args = p.parse_args()
    key = load_key(args.key)
    decrypt_file(args.input, args.output, key)
if __name__ == "__main__":
    main()

🔧 Options

| Flag | Description | |------|-------------| | -i | Input JSON file path | | -o | Output file (optional) | | --json | Output as JSON | | --show-expired | Include expired tokens |

Testing checklist

⚠️ Legal

See LICENSE and ETHICS.md

Step 4: Analyze the Lock Type

Run the analysis command:

java -jar mcdecryptor.jar analyze --path "C:\Users\YourName\Desktop\MyLockedSurvival"

The tool will output something like:

[INFO] Lock detected: WorldGuard region protection (AES-128)
[INFO] Owner UUID: 1234abcd-... (unknown player)
[INFO] Lock strength: Moderate

Recommended file/header format (example)

This lets the tool automatically derive keys from password input and perform integrity checks.

Step 5: Decrypt the World

Use the decrypt command:

java -jar mcdecryptor.jar decrypt --path "C:\Users\YourName\Desktop\MyLockedSurvival" --force

The --force flag instructs MCDeCryptor to ignore missing owner credentials and remove the lock entirely.