Small Go utilities for working with Messenger Plus .ple chat logs.
Decrypts every .ple file under an input directory using a known password and writes decoded files into an output directory, preserving relative paths.
go run ./cmd/decode-dir --password viewer-test-password --output-dir ./decoded ./logsBehavior:
- only files ending in
.pleare processed - output files are written under
--output-dirusing the same relative path .pleextensions are changed to.txt- if an output file already exists, it is skipped and left unchanged
Example:
- input:
./logs/April 2005/chat.ple - output:
./decoded/April 2005/chat.txt
The command prints one line per write or skip, followed by a summary:
wrote: ./decoded/April 2005/chat.txt
skip existing: ./decoded/April 2005/other-chat.txt
processed=2 wrote=1 skipped=1
Recover forgotten passwords by checking a candidates list.
Finds the password for a single .ple file using a candidate password list, prints the matching password and parsed header details, then exits.
go run ./cmd/find-password --password-file ./testdata/test_passwords.txt ./testdata/sample_known_password.pleArguments:
--password-file: text file containing one candidate password per line- positional argument: path to the
.plefile
Example output:
found: viewer-test-password
file_version=0x0110
encoding_flag=1
encrypted_check_len=13
payload_offset=0x1f
Run all unit and integration tests with:
go test ./...