Introduction
What?
Modify the contents of a program.
Why?
Make it work properly, or validate a code behaviour. Modifying data in a file can also change the code flow where conditional instructions may happen. Changing instructions can also work around anti-debugging tricks.