Skip to main content

Logchecker for logs generated by XLD

Project description

XLD Logchecker

Travis-CI Status PyPI

This is a fork of https://github.com/puddly/xld_logsigner, 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

usage: xld.py [-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

Overview

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


Release history Release notifications

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

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page