On the BBC/Electron machines you used to get a "Broken Program" message if you tried that. It would still run but you couldn't list the code. Primitive form of copy protection presumably. It was actually a simple fix you just had to reset a couple of bytes at the top of the program memory and voila, there was all the code in its glory.
The tape loaders usually used some of fast interrupt event and some machine code, usually Vsync to execute a short piece of code to disable copy protection. Once you figured out how it was patching in the code you could access it, run it through a disassembler and then use the same code to un-protect all your tapes. Those were the days.