Logchecker for logs generated by XLD
Project description
XLD Logchecker
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.
- The log is encoded as UTF-8 and hashed with a SHA-256 variant that uses a different IV.
- The digest is converted to hex and the string
\nVersion=0001
is appended onto the end. - 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).
- The resulting bytestring is then encoded using a 65-character lookup table with a strange mapping.
Project details
Release history Release notifications | RSS feed
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)
Built Distribution
Close
Hashes for xld_logchecker-0.7.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 049af21adea11993a1f5b1e8b6f9f187a2c1398683af4849d6e93a164d605b6c |
|
MD5 | a70e75c072d8f72bdd989e4f31fa3025 |
|
BLAKE2b-256 | 03dd6b66ba360215d9f1ecba71b8f5cb39a29bbe24860431845327440f96deae |