EAC生成日志的日志检查器
eac-logchecker的Python项目详细描述
EAC日志检查器
这是python 3.5+中精确音频复制日志校验和算法的透明实现。
这是一个https://github.com/puddly/eac_logsigner的叉,经过修改后 更好地匹配下游应用程序中使用的实际eac日志检查器的输出。全部 逆向工程封闭源eac开发基地信誉不佳。
要求
- Python3.5+
- pprp
安装
来自PYPI:
$ pip install eac-logchecker
来源:
$ git clone https://github.com/OPSnet/eac_logchecker.py
$ cd eac_logchecker.py
$ python setup.py install
用法
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
示例
$ 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"}]
算法
- 删除换行符和bom的日志文件。
- 使用rijndael-256加密日志文件:
- 在CBC模式下
- 具有256位块大小(大多数aes实现硬编码为128位块大小)
- 全零iv
- 零填充
- 十六进制键
9378716cf13e4265ae55338e940b376184da389e50647726b35f6f341ee3efd9
- 将所有产生的256位密文块异或在一起。你可以一个字节一个字节地做,最后没关系。
- 以大写十六进制输出上述数字的小尾数表示。