I'm going to split this into two different questions. They are related, but slightly different.
Firstly, how do you go about stopping people from cracking/leaking your game code? Assuming you're developing for a game you plan to publish (that being not open-source), how do you stop people from getting the source? I use Code::Blocks for my C++, and I don't know if the default .exe generated file is completely secure. My "Hacker" friend says he'll even try to crack the program; and I think he will.
Secondly, what's the best copyright method for an indie developer who's game isn't open source and people won't be able to resell it or republish it, but they can develop modifications for it? I don't want to block the community from being able to do what they want to do with my game; but at the same time, I'll be needing to pay bills.