Logchecker for logs generated by EAC
Project description
EAC Logchecker
This is a transparent implementation of the Exact Audio Copy log checksum algorithm in Python 3.5+.
This is a fork of https://github.com/puddly/eac_logsigner, with modifications to have it better match the output of the actual EAC Logchecker to be used in downstream applications. All credit goes to puddly for reverse-engineering the closed source EAC to develop the base.
Requirements
- Python 3.5+
- pprp==0.2.6
Installation
From PyPI:
$ pip install eac-logchecker
From source:
$ git clone https://github.com/OPSnet/eac_logchecker.py
$ cd eac_logchecker.py
$ python setup.py install
Usage
usage: eac_logchecker.py [-h] [--json] file
Verifies and resigns EAC logs
positional arguments:
file input log file
optional arguments:
-h, --help show this help message and exit
--json Output as JSON
Example
$ eac_logchecker logs/01.log
Log Integrity Checker (C) 2010 by Andre Wiethoff
1. Log entry is fine!
$ eac_logchecker logs/01.log
$ eac_logchecker logs/05.log
Log Integrity Checker (C) 2010 by Andre Wiethoff
1. Log entry is fine!
2. Log entry is fine!
$ eac_logchecker --json logs/05.log
[{"message": "Log entry is fine!", "status": "OK"}, {"message": "Log entry is fine!", "status": "OK"}]
Algorithm
- Strip the log file of newlines and BOMs.
- Cut off the existing signature block and (re-)encode the log text back into little-endian UTF-16
- Encrypt the log file with Rijndael-256:
- in CBC mode
- with a 256-bit block size (most AES implementations hard-code a 128-bit block size)
- all-zeroes IV
- zero-padding
- the hex key
9378716cf13e4265ae55338e940b376184da389e50647726b35f6f341ee3efd9
- XOR together all of the resulting 256-bit ciphertext blocks. You can do it byte-by-byte, it doesn't matter in the end.
- Output the little-endian representation of the above number, in uppercase hex.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eac_logchecker-0.8.1.tar.gz.
File metadata
- Download URL: eac_logchecker-0.8.1.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
681d83ec8ee7b581a394e190bf50f91929ac34a12af0584609bb71fa427ea177
|
|
| MD5 |
23f497661d6695db31a8de0c874edcf0
|
|
| BLAKE2b-256 |
fe2cf01a9a6d8b0fb70aa5db561b51f674e67b46bf6a95a7c92d6dfccf6165c7
|
File details
Details for the file eac_logchecker-0.8.1-py3-none-any.whl.
File metadata
- Download URL: eac_logchecker-0.8.1-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
374cad78dcbf5df3c86ff96693e4b81ab9c47f7aad378488221bc3fb4bbbeac9
|
|
| MD5 |
d9e090ef52242f974c684aa62507b1bc
|
|
| BLAKE2b-256 |
a1a4a9cd81196b79145d261e4b1f8b8aaa0bd1e6157da404ca718c075c116360
|