Use of a watermark on the delivery medium aims at making it really problematical to reproduce that mark in an unlawful copy. This is a common manner of realising a security mechanism versus copyright infringement for digital media. The program's execution is ended in case the mark is imperfect or can not be discovered due - at runtime - confirmation code watches if the program is being run from the original delivery medium. Software protection by watermarking has also been explored for software security. It is a corresponding method for computer software transmitted over internet. A program seller wants customers to remunerate a certification fee to register the program. Corresponding to this model, the marketer will transmit a key after purchase to the customer providing for legitimate manipulation of the program. Checking code integrated in the program is programmed to prevent working the program without the specific key.
Nevertheless, a software cracker could hack the program and produce a key, or he could kill the controlling code in the program so that the program can be run without a key. Unfortunately, it is really hard to fight versus such actions. A creator can only deter hacking attempts by making all kinds of attack on his program as trying as achievable. Of late explored methods in watermarking can aid in this topic. Developers watermark a program by embedding unique identifiers. It asserts property rights to the legitimate proprietor. But, this processing can also serve to chase the hacker after the unlawful work. Hence, software watermarking itself does not foreclose piracy but scares the cracker from copyright infringement by increasing the possibility of getting arrested.
Watermarking is not a painless method. It should be brought up it is quite the contrary. Most present anti piracy systems are easy to apply though their potency in prohibiting piracy is oft questionable. Additionally, nowadays, many applications are distributed in formats which are elementary to reverse engineer. Microsoft Intermediate Language and Java Bytecode are such formats. These formats make that the attacker can easily decompile or work the source code under debugger and/or disassembler. Next, it gets almost too simple to dig up and remove all remainders of the method. And this even includes the event of watermarking. Aiming to discourage hacking software watermarking and the more specific fingerprinting are systems that have been analysed in academic surroundings as well as in companies. The disposable systems are corresponding to those of media watermarking where a unique identifier is integrated in data such as text, images, audio, or video. These systems raise minor mistakes in the media. As a matter of fact, these mistakes are unobservable by the human senses because they are too little to get detected.
Application data is much more sensible to alterations. This makes a big divergence for computer software and the watermark can't be established just anyplace. Indeed, unreliable treatment could crash the program. Instead, employing the embedding of the unique identifier in software can not break the original functioning in any manner. It necessitates a fingerprint rather than the usual watermark to track down the origin of the prohibited action. Fingerprinting allows linking a particular copy to the initial customer. For example, developer A sells a copy of his program to customer B, but before mailing out the copy to B, A embeds a unique identifier - i.e. B's creditcard number - in the program. Now, if the provider obtains a copy of his program which is supposed to be cracked, he takes out the watermark - in this event called a fingerprint - through utilisation of his hidden key. Because the fingerprint is B's creditcard number, A can demonstrate that B is discredited of copyright infringement. Static and dynamic are identifying the watermarking algorithms based on their characteristics of working. Static watermarking algorithms only make use of the structures of a program like available on disk while dynamic watermarking algorithms execute, accredit and extract the watermark based on info collected during the execution of the program.
Dynamic techniques are split into three subcategories: easter egg, data structure and execution trace watermarks. Some of the current research is centralised at the study of static versus every of the dynamic algorithms to observe which one is securer. More research in this subject is needed though analyses describe no distinct advantage for either. It still exists ways of outsmarting such protection arrangements, despite the security systems brought up. A software pirate can eitherget rid of the verification code or copy the watermark to outwit the security mechanism. This is accomplished through reverse engineering the program with the unlawful intent of exposing the verification code and its interaction with the remaining code.
The watermark verification code is stripped or even completely cut out on successful reversing. A pirated copy does no more need to contain the mark because the program doesn't verify for its presence any longer. However, if watermarking is applied in alignment with extra security systems, then the safety degree touches a really high point.