Code morphing

Code morphing

Code morphing is one of the approaches to protect software applications from reverse engineering, analysis, modifications, and cracking used in obfuscating software. This technology protects intermediate level code such as compiled from Java and .NET languages (Oxygene, C#, Visual Basic, etc.) rather than binary object code. Code morphing breaks up the protected code into several processor commands or small command snippets and replaces them by others, while maintaining the same end result. Thus the protector obfuscates the code at the intermediate level.

Code morphing is a multilevel technology containing hundreds of unique code transformation patterns. In addition this technology transforms some intermediate layer commands into virtual machine commands (like p-code). Code morphing does not protect against runtime tracing, which can reveal the execution logic of any protected code.

Unlike other code protectors, there is no concept of code decryption with this method. Protected code blocks are always in the executable state, and they are executed (interpreted) as transformed code. The original intermediate code is absent to a certain degree, but deobfuscation can still give a clear view of the original code flow.

Code morphing is also used to refer to the Just-in-time compilation technology used in Transmeta processors such as the Crusoe and Efficeon to implement the X86 instruction set architecture.

Code morphing is often used in obfuscating the copy protection or other checks that a program makes to determine whether it is a valid, authentic installation, or a pirated copy, in order to make the removal of the copy-protection code more difficult than would otherwise be the case.

See also


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Code Morphing Software —   [dt. »Codewandlungs Software«], Software, die komplexe Prozessorbefehle in einfache Einzelbefehle (so genannte Atome) zerlegt. Diese Atome lassen sich zu Gruppen, die Moleküle genannt werden, kombinieren. Mithilfe derartiger… …   Universal-Lexikon

  • Code Morphing Software — (CMS) is the technology used by Transmeta microprocessors to execute x86 instructions.[1] In broad view, CMS reads x86 instructions and generates instructions for a proprietary VLIW processor, in the style of Shade.[2] CMS translation is much… …   Wikipedia

  • Source code — For the 2011 film, see Source Code. Not to be confused with source coding. An illustration of Java source code with prologue comments indicated in red, inline comments indicated in green, and program code indicated in blue In computer science,… …   Wikipedia

  • Criticisms of The Da Vinci Code — The Da Vinci Code , a popular suspense novel by Dan Brown, generated a great deal of criticism and controversy after its publication in 2003. Many of the complaints centered on the book s speculations and alleged misrepresentations of core… …   Wikipedia

  • Inaccuracies in The Da Vinci Code — This article is about the controversies regarding the novel. For other uses, see The Da Vinci Code (disambiguation). The Da Vinci Code, a popular suspense novel by Dan Brown, generated a great deal of criticism and controversy after its… …   Wikipedia

  • Transmeta Crusoe — Crusoe ist eine Familie von x86 kompatiblen CPUs von Transmeta, die besonders für stromsparende Notebooks und Ähnliches eingesetzt wurde. Transmeta hat dazu ein neues Konzept entwickelt, um die CPU x86 kompatibel zu machen: Eine Software Lösung… …   Deutsch Wikipedia

  • Binary translation — In computing, binary translation is the emulation of one instruction set by another through translation of code. Sequences of instructions are translated from the source to the target instruction set.There is static binary translation, where an… …   Wikipedia

  • Crusoe — Pour les articles homonymes, voir Crusoé. Le Crusoé serait le premier processeur universel. Une sorte de clone intelligent, capable de fonctionner à la demande comme un processeur Intel ou autre, sous n importe quel système d exploitation. Il a… …   Wikipédia en Français

  • Efficeon — Logo Der unter dem Codenamen Astro entwickelte Efficeon ist eine besonders stromsparende Prozessor Familie der Firma Transmeta, die vor allem für eingebettete Systeme, Notebooks sowie geräuscharmen Arbeitsplatzrechner, bei denen auf eine aktive… …   Deutsch Wikipedia

  • Transmeta Efficeon — Logo Der unter dem Codenamen Astro entwickelte Efficeon ist eine besonders stromsparende Prozessor Familie der Firma Transmeta, die vor allem für eingebettete Systeme, Notebooks sowie geräuscharme Arbeitsplatzrechner, bei denen auf eine aktive… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”