Skip to content

Latest commit

 

History

History
72 lines (52 loc) · 1.8 KB

EZCOV.md

File metadata and controls

72 lines (52 loc) · 1.8 KB

EZCOV Format

The EZCOV ("Easy Coverage") format was created to simplify the formatting of coverage data and to provide Ghidra-specific functionality in Cartographer.

Below is an example of the EZCOV format.

EZCOV VERSION: 1
0x00101000,       20, [  ]
0x00101016,        5, [  ]
0x00201251,        6, [ MAIN ]
0x00201257,       22, [ MAIN ]
0x00101160,        9, [ OVR1 ]

Structure

EZCOV files consist of 3 sections:

Single-line comments start with the # character.

Version

The version is a single line at the top of the file that dictates the EZCOV version.

EZCOV VERSION: 1

Options

The options section is an optional section that defines any additional functionality, features, or options about the coverage data.

This section begins with the OPTIONS: keyword, followed by one or more lines of options.

Note: This section is unused in EZCOV version 1.

OPTIONS:
    fix_jumps
    auto_disassemble
    ...

Coverage Data

Each line of coverage data contains a series of comma-separate values that determine which parts of the program were executed.

At minimum, this contains the offset, size, and address space.

  • Offset: Hexadecimal address in memory where the program began execution.
  • Size: Decimal number of bytes executed.
  • Address Space: Name of the address space where the code was executed.
    • This is useful for exploring multiple loaded binaries that occupy the same address(es) in RAM.
    • If blank, the program's default address space is used.
#
# Columns:
#
#   OFFSET,     SIZE, [ ADDRESS_SPACE ]
#
0x4002B260,       12, [  ]
0x4002B270,       12, [  ]
0x400A2F34,        8, [ OV1 ]
0x400A3278,       20, [ OV1 ]
0x400A328C,       12, [ OV1 ]