By watermark, I mean: A byte array that is somehow integrated into the .exe / .dll file that can be found. Many anti-piracy / anti-reverse engineer programs include a system called watermarks. For example, VMProtect.
How it works? If someone needs to crack and / or copy a protected binary file, what exactly prevents him from simply deleting the watermark. The idea is that you, as the creator of your software, can download a pirated copy of your own program, then you can see exactly who leaked / unloaded this copy. What exactly prevents an attacker from simply scanning and deleting watermarks?
Second part of this question: They say that the watermark (or should be) is included many times in different random positions in binary format. Obviously, they are not completely random. Because it can damage the binary in the same way as a damaged hard drive. The program cannot just overwrite the code in binary format with a watermark, which is for sure. How can a protection program include a watermark in different (and random) places in binary format? How are these locations selected?
Third part: Assuming I have a watermark. As a security program, it will subsequently scan watermarks. How does he find watermarks again?
Also, how can watermark information be included (a small line identifying the original owner of the copy)? Is the information somehow encrypted in a watermark?
source share