The main problem with software protectors is that they use protection techniques very well known by crackers, so they can be easily bypassed with traditional cracking tools.Īnother important problem in software protectors is that they have restricted execution by the operating system, that is, they run with normal application privileges. These attacks often result in the attacker obtaining the original application that is decrypted and has the protection wrapper removed.įigure 3: Common software protectors philosophy Many tools have been developed that aid in the attacking of software protectors. Since software protectors were born, many attackers have centered most of their efforts on attacking the software protectors themselves instead of the applications. Will not allow attackers to modify an application to change its behavior.Prevents attackers from studying how an application is implemented.The advantages of using a Software Protector are: If everything is safe the software protector will proceed to decrypting the protected application and giving it the control of the CPU to be executed as normal. When a protected application is going to be run by the operating system, the software protector will first take control of the CPU and check for possible cracking tools (dissemblers or de-compilers) that may be running on the system. A software protector is like a shield that keeps an application encrypted and protected against possible attacks. Software protectors were created to keep an attacker from directly inspecting or modifying a compiled application. For example, the attacker could bypass the routine that checks for the trial period in an application and make it run forever or even worse, cause the application to behave as if it was registered. When the attacker has a good knowledge of the target application, he can modify the compiled application to alter his behavior. These tools are known as dissemblers and de-compilers.įigure 2: Decompilation of your applicationĪn attacker can use a dissembler or de-compiler to study how a specific application works and what a specific routine does. In the same manner that the source code of an application is converted into machine code at compilation time, there are tools that can convert a compiled application into assembly language or a higher programming language. Then the object files are linked together to create the final executable.įigure 1: Compilation of your source code When an application is being created, the Compiler will compile the application source code into several object files made of machine language code.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |