Skip to content

Kaspersky report file

The Kaspersky Anti-Virus report files are stored in a propriety file format.

The following information is based on the current understanding of the Kaspersky Report File format.

Overview

A Kaspersky Report File consists of:

  • file header
  • log record index
  • array of log records

File header

The file header is 80 bytes of size and consists of:

Offset Size Value Description
0 4 "RPD2" Signature
4 4 2 Unknown, version?
8 8 Unknown (empty values?)
16 4 Unknown A. Next available record number or 0?
20 4 0x1000 Unknown (record index size?)
24 4 Unknown (Record offset?)
28 4 Unknown (empty value)
32 4 File size
36 4 Unknown (empty value)
40 8 Unknown timestamp. Creation time?
48 8 Unknown timestamp. Last write time?
56 8 Unknown timestamp. Access time?
64 8 Unknown (empty values?)
72 4 Next available record number?
76 4 Unknown (empty value)

Log records index

Log records index entry

The file header is 80 bytes of size and consists of:

Offset Size Value Description
0 4 Record offset. The offset is relative to the start of the file
4 4 Unknown (empty value)
8 4 Record number
12 4 Unknown (empty value)

Log records

Log record header

Offset Size Value Description
0 4 Log record data size. Log record size = Log record data size + 12
4 8 Unknown timestamp. Creation time?
12 ... Log record data

Log record data

The record data contains some types, followed by the data. Currently it is assumed that the record data format is (partially) dependent on the subsystem, e.g. on-access scan (oas), that generated the log record data.

Date and time values

The date and time values are stored in intervals of 10 ns since January 1, 1 00:00:00 local time.

E.g. the timestamp: 0x582db22720fb9bc9

import datetime

print(datetime.datetime(1, 1, 1) + datetime.timedelta(microseconds=0x582db22720fb9bc9 / 100))
2014-06-25 15:01:44.164668

See Also