I'd even say that a license clause that forbids users to modify the software is really not well-defined. Modification of what is actually forbidden? I have no access to the source code (assuming closed-source software). I have only binaries. Can I replace the first byte with 0x00? The second one? What if I accidentally overwrite the whole file with 0x00s? What if I truncate it? Can I start the software and modify it at runtime? Can I modify the dynamic libraries (or even the OS) to alter the software? What if a virus infects the binary?
It'd be great if anyone could point to interesting resources on this issue. It seems to be an intriguing intersection of law and economics.