I always liked Winhex for this type of thing. It could dissect a structure with a c-like syntax. I found it as shareware as a kid and have never used a hex editor I liked more.
I've been using 010 Editor, which similarly lets you define templates with c-like syntax, run it against a file, and edit the fields from there.
(Cross platform too, which is nice. It is a paid product though)
https://github.com/EUA/wxHexEditor / http://www.wxhexeditor.org/