Some hosts didn't even bother with this. I used a PHP host who ran another script after serving the hosted one, but it you used `die()` you could skip any other fluff they included.
I'm interested to know how others feel about browsing through random issues on some open-source project like this out of boredom. As someone who struggles finding the time to commit to entire features in my spare time, knowing there are lurkers who could piece together a PR from commits to abandoned forks or getting intouch with developers on discord (for example) is quite inspiring!
Absolutely correct. Although this was intentional behaviour, it was given a security advisory[1]. In practice it allowed all sorts of exploits, including dumping packed executables for cracking, as you say.
I've always wanted to find time looking at recompiling the Xbox Live Arcade (XBLA) titles from the 360 to Windows. The games are just dotNET applications which run against a variation of the standard libraries.
The author identified a similar workflow for breaking down these packet capture bits, and linked to other potential methods. I'd say his process was an interesting read!
Familiarity with hardware would be a good starting point - the author explained how he can made use the three tables used by the PPU to pick out objects and textures. There is a lot of information about the NES online which would be useful references.
Then a good set of debugging tools, which is possible for NES games as there are many different emulators written in all sorts of languages which would make for a good learning resource.
To get more involved, investate open-source emulation projects - building them yourself. Then get more involved - try to fix an open issue - which will help you get familiar with the project. Read up on reverse engineering and ask questions!
Good list. I'd expand your first point to include time estimation when prioritising decisions! It'll come in handy, particularly when project planning either short or mid-term.