Code morphing (original) (raw)

About DBpedia

Code morphing is an approach used in obfuscating software to protect software applications from reverse engineering, analysis, modifications, and cracking. 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.

Property Value
dbo:abstract Code morphing is an approach used in obfuscating software to protect software applications from reverse engineering, analysis, modifications, and cracking. 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 an unauthorized copy, in order to make the removal of the copy-protection code more difficult than would otherwise be the case. (en) Мо́рфинг програ́ммного ко́да — это преобразование кодовой последовательности из одного вида в другой. В микропроцессорной технике под этим понимается преобразование кода, удовлетворяющего некоторым стандартам, таким образом, чтобы он мог быть верно интерпретирован процессором, оперирующим иными стандартами представления данных, кода и т. п. Морфинг может быть осуществлён как на этапе компиляции, так и используя специальную логику, интегрированную в процессор, выполняющую такие преобразования «на лету». В качестве примера можно привести программную трансляцию для микропроцессоров Efficeon со 256-разрядным словом и Crusoe со 128-разрядным словом (предыдущая модель), которая на лету осуществляет морфинг x86-кода в родной для указанных процессоров VLIW-код. (ru) Морфінг програмного коду (англ. Code morphing) — перетворення кодової послідовності з одного виду в інший. У мікропроцесорній техніці під цим розуміється перетворення коду, що задовольняє деяким стандартам, таким чином, щоб він міг бути вірно інтерпретований процесором, який оперує іншими стандартами представлення даних, коду тощо. Морфінг може бути здійснений як на етапі компіляції, так і використовуючи спеціальну логіку, інтегровану в процесор, що виконує такі перетворення в режимі реального часу. Як приклад можна навести програмну трансляцію для мікропроцесорів з 256-розрядним словом і з 128-розрядним словом (попередня модель), яка на льоту здійснює морфінг x86-коду в рідний для зазначених процесорів VLIW-код. (uk)
dbo:wikiPageID 3931871 (xsd:integer)
dbo:wikiPageLength 2533 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1075108256 (xsd:integer)
dbo:wikiPageWikiLink dbc:Warez dbr:Copy_protection dbr:Copyright_infringement_of_software dbr:Cryptography dbr:Analysis dbc:Source_code dbr:Object_file dbr:P-code_machine dbr:C_Sharp_(programming_language) dbc:Obfuscation dbr:Transmeta dbr:Just-in-time_compilation dbr:Oxygene_(programming_language) dbr:Transmeta_Crusoe dbr:Reverse_engineering dbr:Intermediate_language dbr:X86 dbr:Virtual_machine dbr:Software dbr:Visual_Basic dbr:Transmeta_Efficeon dbr:Obfuscating_software
dbp:wikiPageUsesTemplate dbt:More_citations_needed dbt:Reflist
dcterms:subject dbc:Warez dbc:Source_code dbc:Obfuscation
gold:hypernym dbr:Approach
rdf:type dbo:ProgrammingLanguage
rdfs:comment Code morphing is an approach used in obfuscating software to protect software applications from reverse engineering, analysis, modifications, and cracking. 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. (en) Мо́рфинг програ́ммного ко́да — это преобразование кодовой последовательности из одного вида в другой. В микропроцессорной технике под этим понимается преобразование кода, удовлетворяющего некоторым стандартам, таким образом, чтобы он мог быть верно интерпретирован процессором, оперирующим иными стандартами представления данных, кода и т. п. Морфинг может быть осуществлён как на этапе компиляции, так и используя специальную логику, интегрированную в процессор, выполняющую такие преобразования «на лету». (ru) Морфінг програмного коду (англ. Code morphing) — перетворення кодової послідовності з одного виду в інший. У мікропроцесорній техніці під цим розуміється перетворення коду, що задовольняє деяким стандартам, таким чином, щоб він міг бути вірно інтерпретований процесором, який оперує іншими стандартами представлення даних, коду тощо. Морфінг може бути здійснений як на етапі компіляції, так і використовуючи спеціальну логіку, інтегровану в процесор, що виконує такі перетворення в режимі реального часу. (uk)
rdfs:label Code morphing (en) Морфинг программного кода (ru) Морфінг програмного коду (uk)
owl:sameAs freebase:Code morphing wikidata:Code morphing dbpedia-ru:Code morphing dbpedia-uk:Code morphing https://global.dbpedia.org/id/4hgQn
prov:wasDerivedFrom wikipedia-en:Code_morphing?oldid=1075108256&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Code_morphing
is dbo:wikiPageRedirects of dbr:Code_Morphing
is dbo:wikiPageWikiLink of dbr:Security_through_obscurity dbr:Clean_room_design dbr:Code_Morphing dbr:Source_code dbr:Project_Denver dbr:Reverse_engineering
is foaf:primaryTopic of wikipedia-en:Code_morphing