CRC – checksums. Any file, string, or block of data can be protected with a checksum, which can then be calculated and compared with a reference. When comparing with the standard, of course, you should be careful – see the first 11 tips. So, tip 12. Protect programs and data with checksums. This will not only help against hacking, but also protect programs from a virus or Trojan.
Use encryption of programs and data. It is very good to compress the program and data. For example, I have developed my own archiver – RAR and ZIP – it will not compete, but it is very difficult to decompress the data compressed by it, it will take a lot of tinkering. And it is problematic to change them – you will have to decompress, change and compress.
Catching step-by-step debugging of the program. There are many ways, I once conducted a whole study of this issue under DOS, collected and came up with at least 20 methods, but they are not acceptable under Windows. The easiest and most reliable way is a timer. When the program is running, we periodically fix the system time and calculate the running time of code fragments between them. And if 200-400 processor commands work for 2-3 minutes, then there is something to think about.
Tip 13. Do not define the date and time in the standard way !! Come up with something original.
Tip 14. Do not store anything secret in files or registry. Working with files or the registry can be recorded and analyzed in detail, and everything secret will become clear.
Tip 15.Do not store anything important in plain text, especially messages like “This is an unregistered version …”, “The entered password is not correct …”.
They are like a red rag for a hacker, and indeed – we find such a message, put a breakpoint on accessing a memory section with this message and get the opportunity to catch the moment of issuing this messages.
Tips for creating labels for organizing time limits
The protection of the “work time limit” consists in the fact that the program somehow fixes the moment of its first launch and works for a set time (usually 20-30 days). After this period expires, the program refuses to start. How to check the current date, I have already written here somewhere – in a non-standard way, for example, by date on registry files or my newly created file. The whole trick is different – how to fix the date of the first launch on the computer (naturally, so that the destruction of the program and its re-installation do not give effect). Using “secret” files in system folders or changes to existing files is easy to catch with FILEMON. The registry also disappears due to REGMON. Other methods (such as writing to the VOOT sector …) they are also unacceptable – not those times, all this will not pass on Windows. The most original (in my opinion) is to flash the date into the program itself and constantly update it on your website (of course, automatically). Thus, the countdown implicitly starts from the moment the program is downloaded from the site. There is a truth and a minus here – after the deadline , you can re – download this program and get another 15-20 days … . On the other hand, this is original – sooner or later the user will get tired of downloading this program and he will either refuse it or buy it. But it is worth remembering that the program can be downloaded several times and compare the options, revealing where the date lies. Therefore, it is worth taking care to change almost the entire file (for example, change a couple of compiler options)