The binary data can be read out of program memory and disassembled to make a machine language version of the code. That doesn't help beginners much.
However, just about any program that an Arduino can carry out could be pretty easily duplicated from scratch by a skilled programmer, so there is not much point making great effort to protect your intellectual property.