If it can be run, it can be reverse-engineered. However, there are a few tools that make it more difficult for people to do that out there. One of which is a free tool called ConfuserEx which can be found here if people want to use it for programs they write: https://github.com/yck1509/ConfuserEx
(The above link was one of the original continuations from ConfuserEx made for .NET platforms. It is no longer maintained or updated, but a fork of it which is is available here: https://github.com/mkaring/ConfuserEx
)
People who do reverse-engineering may want to study it too, so it really is for everyone lol