Skip to main content

Logchecker for logs generated by XLD

Project description

XLD Logchecker

Travis-CI Status PyPI

This is a fork of, to be used within our downstream applications, removing unnecessary functionality that we do not need.

Based heavily on barrybingo/xld_sign. This is a complete disassembly of the XLD log signing algorithm, re-implemented in Python 3.5+.


usage: [-h] (--verify | --sign) FILE

Verifies and resigns XLD logs

positional arguments:
  FILE        path to the log file

optional arguments:
  -h, --help  show this help message and exit
  --verify    verify a log
  --sign      sign or fix an existing log


The final code isn't pretty, but it is simple enough to describe the algorithm.

  1. The log is encoded as UTF-8 and hashed with a SHA-256 variant that uses a different IV.
  2. The digest is converted to hex and the string \nVersion=0001 is appended onto the end.
  3. The versioned hex-digest is then passed through an unidentified scrambling function that operates on pairs of bytes (open an issue if you recognize it).
  4. The resulting bytestring is then encoded using a 65-character lookup table with a strange mapping.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for xld-logchecker, version 0.7.0
Filename, size File type Python version Upload date Hashes
Filename, size xld_logchecker-0.7.0-py2.py3-none-any.whl (6.0 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size xld_logchecker-0.7.0.tar.gz (5.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page