password decoding for cde files.
Find a file
2026-04-15 11:02:08 -04:00
cde_decode.py Add decoder, docs, and sample CDE files 2026-04-15 11:02:08 -04:00
CODE_OF_CONDUCT.md Add decoder, docs, and sample CDE files 2026-04-15 11:02:08 -04:00
LICENSE Add decoder, docs, and sample CDE files 2026-04-15 11:02:08 -04:00
README.md Add decoder, docs, and sample CDE files 2026-04-15 11:02:08 -04:00
test-passwd-abcdefgh.cde Add decoder, docs, and sample CDE files 2026-04-15 11:02:08 -04:00
test-passwd-apple420.cde Add decoder, docs, and sample CDE files 2026-04-15 11:02:08 -04:00
test-passwd-hamburger.cde Add decoder, docs, and sample CDE files 2026-04-15 11:02:08 -04:00
test-passwd-ninja1234567890.cde Add decoder, docs, and sample CDE files 2026-04-15 11:02:08 -04:00
test-passwd.cde Add decoder, docs, and sample CDE files 2026-04-15 11:02:08 -04:00
test.cde Add decoder, docs, and sample CDE files 2026-04-15 11:02:08 -04:00

CDE Password Decoder

Decode passwords stored in the custom .cde file samples in this repo.

Usage

python /home/hc/Downloads/CDE/cde_decode.py /home/hc/Downloads/CDE/test-passwd.cde

Optional flags:

  • --quiet prints only the decoded password
  • --show-field prints the raw stored field bytes
  • --show-bytes prints the decoded bytes
  • --offset and --length let you override the defaults

Encoding Details

The password field starts at offset 0x74 and is 14 bytes long. It is padded with 00 after the end of the password. Each stored byte is the ASCII code minus its 1-based position within the field:

stored[i] = (plain[i] - (i + 1)) & 0xff
plain[i]  = (stored[i] + (i + 1)) & 0xff

Only the first 14 bytes are stored; longer passwords are truncated. A 00 byte terminates the password when decoding.