Search results
Results From The WOW.Com Content Network
A polymorphic engine (sometimes called mutation engine or mutating engine) is a software component that uses polymorphic code to alter the payload while preserving the same functionality. Polymorphic engines are used almost exclusively in malware , with the purpose of being harder for antivirus software to detect.
Polymorphic algorithms make it difficult for such software to recognize the offending code because it constantly mutates. Malicious programmers have sought to protect their encrypted code from this virus-scanning strategy by rewriting the unencrypted decryption engine (and the resulting encrypted payload) each time the virus or worm is propagated.
Metamorphic code is used by some viruses when they are about to infect new files, and the result is that the next generation will never look like current generation. The mutated code will do exactly the same thing (under the interpretation used), but the child's binary representation will typically be completely different from the parent's.
The Smeg Virus Construction Kit (or SMEG) is a polymorphic engine written by virus writer Chris Pile, known as The Black Baron. SMEG is an acronym for Simulated Metamorphic Encryption Generator. SMEG is an acronym for Simulated Metamorphic Encryption Generator.
They are commonly used by hackers to insert other programs such as Trojan horses into otherwise harmless files, making them more difficult to detect. Malware builders (such as keyloggers or stealers) often include a binder by default. [1] A polymorphic packer is a file binder with a polymorphic engine.
Self-modifying code is also sometimes used by programs that do not want to reveal their presence, such as computer viruses and some shellcodes. Viruses and shellcodes that use self-modifying code mostly do this in combination with polymorphic code. Modifying a piece of running code is also used in certain attacks, such as buffer overflows.
Multiple dispatch or multimethods is a feature of some programming languages in which a function or method can be dynamically dispatched based on the run-time (dynamic) type or, in the more general case, some other attribute of more than one of its arguments. [1]
In computer science, dynamic dispatch is the process of selecting which implementation of a polymorphic operation (method or function) to call at run time.It is commonly employed in, and considered a prime characteristic of, object-oriented programming (OOP) languages and systems.