10.1 C
New York
Friday, February 28, 2025

pockets.dat – Python script – ckeys not extracted


I’ve this code:

#!/usr/bin/env python3

# pip3 set up pycryptodome bsddb3

import os
import bsddb3.db as bdb
import struct

def extract_keys(wallet_path):
    attempt:
        # Open the pockets.dat file
        db_env = bdb.DBEnv()
        db_env.open(os.path.dirname(wallet_path), bdb.DB_CREATE | bdb.DB_INIT_MPOOL)
        db = bdb.DB(db_env)
        db.open(wallet_path, "principal", bdb.DB_BTREE, bdb.DB_RDONLY)

        mkey, ckeys = None, []

        for key, worth in db.gadgets():
            if key.startswith(b'x04mkey'):
                mkey = worth  # Extract grasp key
            elif key.startswith(b'x07ckey'):
                ckeys.append(worth)  # Extract crypted keys

        db.shut()
        db_env.shut()

        return {"mkey": mkey, "ckeys": ckeys}

    besides Exception as e:
        print(f"Error: {e}")
        return None

if __name__ == "__main__":
    for infile in os.listdir('.'):
        if os.path.isfile(infile) and infile[-4:]=='.dat':
            outcome = extract_keys(infile)

            if outcome:
                print(f"File: {infile}")
                print(f"mkey: {outcome['mkey'].hex() if outcome['mkey'] else 'Not discovered'}")
                print(f"ckey: {[ckey.hex() for ckey in result['ckeys']]}n")
            else:
                print("Didn't extract keys.")

It does extract mkeys however not ckeys. repair that?

Does it extract mkeys accurately?

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles