Once I think I have a majority of the pointers figured out I discover more

That's not the worst of it. I tried just adding a couple of bytes to the file at random locations to see if I had adjusted all the 'known' pointers correctly....I have yet to do this successfully

Add pointers to pointers and this quickly becomes a nightmare. I just can't get an algorithm that works 100% of the time on every file