Let's start with the easy stuff:
Invulnerability:
8e 17 00 64 75 64 65 48 69 74 00 02 00 05 6a 00 03 62 00 04 62 6f 78 00 9b 02 96 02 00 08 13 =>
8e 17 00 64 75 64 65 48 69 74 00 02 00 05 6a 00 03 62 00 04 62 6f 78 00 9b 02 3e 02 02 02 02
(essentially this is redefining function dudeHit to immediately return and do nothing)
The secret medal is slash n burn - basically chop down all the trees with the axe.
I got bored with the grinder method and ended up hacking it. XP is a root variable, so get to about 500 odd XP and then new search for 4bytes*8, keep on 'til you've got around 20 hits, then change them all to a few thousand and kill something. As it's a root variable the address changes constantly.