I don’t know. Not everyone who uses a computer should be an expert. Not everyone is 100% alert all the time. I know there has to be a line somewhere.
I feel like it would be really easy to have the OS check if the exe is appended to some other extension and force the user to rename it before allowing it to be executed.
I still think a good chunk of the code will be visible. You can have all the code up to the point where you call the proprietary function. Obviously you won’t get to see what’s inside that function but you can guess. Also, a lot of proprietary libraries have that functionality really well documented.