Но может быть сломан только хедер
Что значит "сломан"? Если байтики-битики искажены в нём, то в соответствующие поля структуры просто лягут невалидные значения. Которые ты валидируешь как в MSDN написано.
А вычитается 54 байта, так или иначе (см. выше).