You buy a bit of software, a majority of the time you're buying a LICENCE to use the software, not the actual ownership of the software (which is VERY different from a car). You do NOT have the right to modify, transfer or sell the product; so get your facts right.
I'd say you're right, but there would be a very easy way around that. You don't modify the software, you modify memory. For example, dlls. If I make a dll that hooks into the binary data of a program and changes it, that would not violate the license agreement (an example is the motfv version changer dll). The reason? You're not modifying the actual exe, you are modifying the 1s and 0s stored in your RAM, they are not the actual program, they are a machine's interpretation of the program. I'd be willing to say that as long as you do your modifications in such a way that you never actually touch the exe file, you would not be violating any copyright laws. All you are doing is modifying the RAM you own, not the actual program.