#!/bin/sh
# DF-5629 analyzer: pull every "ELF interpreter ... not found" line out of the
# captured tty transcript and report any bytes that follow our 1024-byte
# marker payload ('DF5629LEAKMARK' + 'A'*1010).
awk '
/ELF interpreter .* not found/ {
    line = $0
    sub(/^ELF interpreter /, "", line)
    sub(/ not found$/, "", line)
    # our payload is exactly 1024 chars: marker + As
    payload = substr(line, 1, 1024)
    tail = substr(line, 1025)
    printf "payload_len=%d tail_len=%d tail_hex=", length(line), length(tail)
    for (i = 1; i <= length(tail); i++)
        printf "%02x%s", substr(tail, i, 1) == "" ? 0 : index("\x01\x02\x03\x04\x05\x06\x07\x08", substr(tail,i,1)), ""
    # hex above is useless in POSIX awk; print raw too
    printf "\ntail_raw=[%s]\n", tail
}' "$1"
