If you are a computer programmer then there are several possible ways that you can make a living. Well at least if you are a professional programmer and not someone who is considered to be a hobbyist. You can go to work for someone else and make the programs that they need. You can work for someone else and maintain and reconfigure the programs that they already have running their business. Or you can be a freelancer and make programs for people when you feel like working at the time. And finally you can create your own programs to sell either to the public or to other businesses. There are a lot of ways that you can earn good money as a programmer but there are also ways that you can lose money as well.
It is already a well know fact that as good as the internet is when it comes to promoting your product, it is also just as good for letting people steal it as well. The internet has a well known pirate marketplace where people can download the items that you have for sell for free. And even worse than that there are even places where people will pirate your items but then sell it to other people. This happens a lot on the internet and it is something that is hard to stop. This is especially true if you are a small time publisher. While it is still worth it to put out software because most of the time the money you make, if it is a good product, is way more than the money you will lose because of piracy, it can still be very frustrating.
So some people who write software for a living put security restrictions around their product to stop people from being able to use the item for free. Sometimes the restrictions are very loose and meant to stop only the casual software pirate, and sometimes the restrictions have a lot of detail and go very deep. But even then you will find that a lot of people will be able to break the software restrictions to be able to crack the programs.
And there are a couple of reasons for this. But the main reason is because when you have a product that a smart hacker wants, no matter how detailed the security precautions are, you will not be able to stop them from getting in. This is especially true if it is a community of smart hackers that want to be able to use your product.
They are plenty of tools that are available that will allow you to be able to see the insides of an executable. And do not think that these tools are only used for piracy. They are used for good as well. This is how we find out how to stop malware. There are all sorts of uses for software like this; unfortunately piracy is one of them.
The main tools used are debuggers and disassembly tools. And they are quite handy once you get used to using them. You are also probably going to have to learn a good dose of the assembly programming language as well. And the assembly languages changes depending on the platform that you are on.
So as a software maker it can be frustrating that the bad guys are able to get your executables and reverse engineer them. But you also have to remember that those same tools are used for good as well. If you want to help your product then you should go the legal route and try to get the websites that host them to shut down.