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


Download files

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

Source Distribution

xld_logchecker-0.7.0.tar.gz (5.4 kB view hashes)

Uploaded source

Built Distribution

xld_logchecker-0.7.0-py2.py3-none-any.whl (6.0 kB view hashes)

Uploaded py2 py3

Supported by

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