<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Obfuskation_%28Software%29</id>
	<title>Obfuskation (Software) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Obfuskation_%28Software%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Obfuskation_(Software)&amp;action=history"/>
	<updated>2026-06-04T08:25:38Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Obfuskation_(Software)&amp;diff=323598&amp;oldid=prev</id>
		<title>imported&gt;Megatherium: /* Sonstiges */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Obfuskation_(Software)&amp;diff=323598&amp;oldid=prev"/>
		<updated>2025-04-18T10:15:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Sonstiges&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Obfuskation&amp;#039;&amp;#039;&amp;#039; ([[Englische Sprache|engl.]] &amp;#039;&amp;#039;obfuscate&amp;#039;&amp;#039; „vernebeln“, „unklar machen“, „verwirren“, „verschleiern“) ist ein Begriff aus der [[Softwaretechnik]] und beschreibt die absichtliche Veränderung von [[Programmcode]], so dass der [[Quelltext]] für Menschen schwer verständlich oder schwer rückgewinnbar wird. Ziel ist es, den Aufwand für [[Reverse Engineering]] stark zu erhöhen, um Veränderung, unerwünschtes Kopieren von Programmteilen oder Diebstahl von geistigem Eigentum zu erschweren oder um die Funktionalität z.&amp;amp;nbsp;B. von Schadsoftware zu verschleiern.&lt;br /&gt;
&lt;br /&gt;
Bei [[Interpreter]]- oder [[Skriptsprache]]n, sofern der [[Quelltext]] ausgeliefert wird, bedeutet das, die ausgelieferte Kopie des Quelltextes unkenntlich und (für Menschen) schwerer lesbar zu machen.&lt;br /&gt;
Bei einem [[Compiler|kompilierten]] Programm [[Verwürfelung|verwürfelt]] und verschleiert ein Obfuskator nicht den Quellcode, sondern das Kompilat oder eine Kopie des Quellcodes unmittelbar vor dem Kompilieren. &lt;br /&gt;
Hier soll vor allem das (maschinelle) [[Decompiler|Dekompilieren]] verhindert werden bzw. das Dekompilat soll möglichst unverständlich werden.&amp;lt;ref&amp;gt;{{Literatur |Autor=Richard R. Brooks |Titel=Disruptive Security Technologies with Mobile Code and Peer-to-Peer Networks |Verlag=CRC Press |Ort= |Datum=2012-05-14 |Kapitel=7 |Seiten=155ff |Sprache=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
Obfuskation verändert ausführbaren Programm-Code ohne Änderung der Programmfunktion. Zum Beispiel werden Variablen- und Funktionsnamen umbenannt, sofern sie aus dem Programm rückgewinnbar wären. Ebenfalls kann (bei einem kompilierten Programm) der [[Maschinencode|Maschinen-]] oder [[Bytecode]] so verwürfelt werden, dass die Befehlsabschnitte, die einem [[Höhere Programmiersprache|Hochsprachenbefehl]] entsprechen, sich mit denen des vorherigen/nachfolgenden Hochsprachenbefehls mischen; oft werden auch zusätzliche nicht notwendige (Maschinen-)Befehle eingefügt. Das kann ein maschinelles Dekompilieren in die ursprüngliche Hochsprache deutlich erschweren oder sogar unmöglich machen.&amp;lt;ref name=&amp;quot;Codewall&amp;quot;&amp;gt;{{Webarchiv|url=http://www.codewall.net/ |wayback=20141225022534 |text=Codewall .Net Obfuscation }} - &amp;quot;Control Flow Obfuscation. Control Flow Obfuscation scrambles the execution paths of the method bodies of your application making decompilers crash.&amp;quot;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nebeneffekt kann je nach Beschaffenheit des Codes auch die Verkleinerung seines Speicherbedarfs sein (v.&amp;amp;nbsp;a. bei Skriptsprachenprogrammen), z.&amp;amp;nbsp;B. durch die Umbenennung langer [[Bezeichner|Identifier]] in kürzere.&amp;lt;ref&amp;gt;[http://proguard.sourceforge.net/results.html Proguard Results] - &amp;quot;It primarily reduces the size of the processed code, with some potential increase in efficiency as an added bonus.&amp;quot;&amp;lt;/ref&amp;gt; Das ist für Website-Skripte vorteilhaft, um das Übertragungsvolumen zu reduzieren. &lt;br /&gt;
Ebenfalls kann es vorteilhaft sein bei [[Anwendungsprogramm]]en für Endgeräte mit geringer Speicherkapazität oder Rechenleistung.&lt;br /&gt;
&lt;br /&gt;
== Abgrenzung ==&lt;br /&gt;
Im Allgemeinen verschlüsselt Obfuskation nicht das Programm und ist daher keine Anwendung der [[Steganografie]] und im Allgemeinen auch nicht der [[Kryptographie]]. &lt;br /&gt;
Es können allerdings u.&amp;amp;nbsp;U. im Programm hinterlegte Zeichenketten, Dateien oder ganze Klassen verschlüsselt werden, damit diese nicht im Klartext lesbar sind (siehe unten).&lt;br /&gt;
&lt;br /&gt;
== Beispiele für Methoden der Code-Obfuskation ==&lt;br /&gt;
; Äquivalente Formeln und konstante Transformationen: Beispielsweise kann eine Addition +10 ersetzt werden durch „addiere 15 und subtrahiere 5“.&lt;br /&gt;
; Verändern des [[Kontrollfluss]]es: Die Reihenfolge, in der Programmanweisungen ausgeführt werden, kann manchmal umgeordnet werden, ohne die Funktionalität zu beeinflussen. Das kann sowohl im Quelltext als auch im Kompilat (dann mit Maschinenbefehlen) geschehen.&amp;lt;ref&amp;gt;[https://msdn.microsoft.com/en-Us/library/ms227229(v=vs.80).aspx Control Flow Obfuscation], Microsoft Developer Network, Visual Studio 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
; Variablensubstitution: Einfaches Umbenennen von [[Variable (Programmierung)|Variablennamen]] wie „Rechnungsbetrag“ oder „Adresse“ auf generierte Namen wie „ax7zhgr“.&lt;br /&gt;
; [[Bedingte Anweisung]]en und Sprünge: Dazu gehören auch überflüssige Vergleiche, die stets wahr bzw. falsch ergeben, [[Dateiverknüpfung|Links]] oder [[Zeiger (Informatik)|Pointer]].&lt;br /&gt;
; Veränderung der Funktionshierarchie: Einzelne Anweisungen oder auch Blöcke können – entgegen der logischen Struktur – in [[Unterprogramm]]e ausgelagert oder aus Unterprogrammen an die aufrufende Stelle kopiert werden.&lt;br /&gt;
; Einfügen von [[Redundanter Code|redundantem Code]]: In die Folge der Anweisungen wird überflüssiger Code eingefügt, der lediglich irrelevante Berechnungen ausführt.&lt;br /&gt;
; Einfügen von Code, der Dekompilieren erschwert: Beispielsweise das Einfügen von Code nach dem Ende einer Methode, was manche Dekompilierer zum Absturz bringt.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.sable.mcgill.ca/JBCO/ |titel=JBCO: the Java ByteCode Obfuscator |abruf=2024-02-20}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Codewall&amp;quot; /&amp;gt;&lt;br /&gt;
; Verschlüsselung: [[Verschlüsselung]] ist besonders für die Tarnung von einzelnen Bytes oder Strings wie im Code hardcodiert abgelegte Passwörter oder mitgelieferte Dateien, oder sogar ganze Klassen und Bibliotheken geeignet.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.guardsquare.com/dexguard |titel=Android App Security and Obfuscation {{!}} DexGuard |hrsg=Guardsquare nv. |sprache=en |abruf=2024-02-20}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
; Mischen von Funktionen: Die (Maschinen-)Anweisungen zweier Funktionen/Hochsprachenbefehle können alternierend geschrieben werden. Dadurch verschwimmen die Grenzen zwischen den Funktionen.&lt;br /&gt;
; Spalten von Variablen: Umstrukturierung von [[Feld (Datentyp)|Arrays]] oder Listen&lt;br /&gt;
:* ein eindimensionales Array kann in mehrere eindimensionale Arrays gespalten werden&lt;br /&gt;
:* ein eindimensionales Array kann in ein mehrdimensionales Array ausgeweitet werden&lt;br /&gt;
:* ein mehrdimensionales Array kann in ein eindimensionales Array geschrumpft werden&lt;br /&gt;
:* zwei oder mehrere eindimensionale Arrays können zu einem eindimensionalen Array zusammengeführt werden.&lt;br /&gt;
; Anti-Debugs: Routinen, die auf die Erkennung und dann frühzeitiges Beenden eines Programmes bei der Erkennung eines Debuggers abzielen. Dazu scannen sie beispielsweise den Speicher nach Suchstrings diverser Debugger.&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
Für das Verschleiern von Software gibt es je nach Programmiersprache und Plattform eine unterschiedlich große Zahl an Obfuskatoren. Viele davon sind für die direkte Anwendung auf den Quellcode&amp;lt;ref&amp;gt;{{cite web|url=http://www.dmoz.org/Computers/Programming/Languages/JavaScript/Tools/Obfuscators/ |title=Open Directory - Computers: Programming: Languages: JavaScript: Tools: Obfuscators |publisher=Dmoz.org |date=2013-08-03 |accessdate=2013-11-25}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.dmoz.org/Computers/Programming/Languages/PHP/Development_Tools/Obfuscation_and_Encryption/ |title=Open Directory - Computers: Programming: Languages: PHP: Development Tools: Obfuscation and Encryption |publisher=Dmoz.org |date=2013-09-19 |accessdate=2013-11-25}}&amp;lt;/ref&amp;gt;, oder für Plattformen erhältlich, deren Quellcode ohne den Einsatz von Obfuskatoren leicht zugänglich wäre, etwa durch die Verwendung einer Bytecode-ähnlichen Zwischensprache vor der Ausführung. Es gibt allerdings auch Obfuskatoren, die Programme verschleiern, die in Programmiersprachen geschrieben wurden, die direkt in ausführbaren Code kompilieren.&lt;br /&gt;
&amp;lt;!-- Bitte um Ergänzung der Listen um aktiv gewartete Obfuskatoren - insbesondere auch für andere Programmiersprachen --&amp;gt;&lt;br /&gt;
=== C / C++ ===&lt;br /&gt;
Folgende Obfuskatoren für C/C++ werden aktiv gewartet: Stunnix C++ Obfuscator,&amp;lt;ref&amp;gt;{{Internetquelle |url=http://stunnix.com/prod/cxxo/ |titel=C/C++ Obfuscator |hrsg=Stunnix |sprache=en |abruf=2024-02-20}}&amp;lt;/ref&amp;gt; StarForce C++ Obfuscate,&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.star-force.com/products/starforce-obfuscator/index.php |titel=StarForce C++ Obfuscator |werk=Star Force |hrsg=Protection Technology, LLC |sprache=en |abruf=2024-02-20}}&amp;lt;/ref&amp;gt; Morpher C/C++ Obfuscator,&amp;lt;ref&amp;gt;{{Internetquelle |url=http://morpher.com/ |titel=C/C++/ObjC/ObjC++, Android, iOS Obfuscation Service |datum=2015-02-14 |abruf=2024-02-20 |archiv-url=https://web.archive.org/web/20150214064125/http://morpher.com/ |archiv-datum=2015-02-14 |offline= |archiv-bot=2024-04-03 14:27:20 InternetArchiveBot }}&amp;lt;/ref&amp;gt; Semantic Design C und C++ Obfuscators.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.semdesigns.com/Products/Obfuscators/CObfuscator.html |titel=Semantic Designs: C Source Code Obfuscator |abruf=2024-02-20}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.semdesigns.com/Products/Obfuscators/CppObfuscator.html |titel=Semantic Designs: C++ Source Code Obfuscator |abruf=2024-02-20}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows Script Encoder ===&lt;br /&gt;
Um verschiedene Skripte wie [[JScript]]-, [[VBScript]]- und insbesondere [[Active Server Pages|ASP]]-Dateien zu verschleiern, empfiehlt Microsoft, den Windows Script Encoder zu benutzen. Im Falle einer [[Technische Kompromittierung|Kompromittierung]] des [[Webserver]]s soll der Angreifer nicht in der Lage sein, zu verstehen, wie die ASP-Anwendung funktioniert. Mittlerweile gibt es jedoch [[Decoder]], um die Verschleierung rückgängig zu machen.&lt;br /&gt;
&lt;br /&gt;
=== Java-Bytecode und MSIL ===&lt;br /&gt;
Für das Verschleiern von Java-[[Bytecode]] und der &amp;#039;&amp;#039;[[Common Intermediate Language]]&amp;#039;&amp;#039; von .NET gibt es eine Reihe von proprietären und Open-Source-Obfuskatoren.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.java2s.com/Product/Java/Byte-Source-Code/Obfuscator.htm |titel=Obfuscator |titelerg=Byte Source Code |werk=java2s.com |abruf=2024-02-20}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.guardsquare.com/proguard |titel=Java Obfuscator and Android App Optimizer {{!}} ProGuard |sprache=en |abruf=2024-02-20}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |autor=Mr Roux |url=https://github.com/XenocodeRCE/neo-ConfuserEx |titel=XenocodeRCE/neo-ConfuserEx |datum=2024-02-17 |abruf=2024-02-20}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Folgende Obfuskatoren für Java Bytecode werden aktiv gewartet:&amp;lt;!-- ein Großteil der in den obigen Refs aufgezählten Obfuskatoren existieren schon lange nicht mehr --&amp;gt; DashO,&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.preemptive.com/products/dasho/ |titel=DashO {{!}} PreEmptive |datum=2020-10-26 |sprache=en-US |abruf=2024-02-20}}&amp;lt;/ref&amp;gt; JavaGuard,&amp;lt;ref&amp;gt;{{Internetquelle |url=https://sourceforge.net/projects/javaguard/ |titel=JavaGuard |datum=2016-02-26 |sprache=en |abruf=2024-02-20}}&amp;lt;/ref&amp;gt; [[ProGuard]], yGuard&amp;lt;ref&amp;gt;{{Internetquelle |autor=yWorks, the diagramming experts |url=https://www.yworks.com/products/yguard |titel=yGuard - Java Bytecode Obfuscator and Shrinker |sprache=en |abruf=2024-02-20}}&amp;lt;/ref&amp;gt; und Zelix Klassmaster.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.zelix.com/klassmaster/index.html |titel=Java Obfuscator - Zelix KlassMaster™ |abruf=2024-02-20}}&amp;lt;/ref&amp;gt; &amp;#039;&amp;#039;ProGuard&amp;#039;&amp;#039; wird von Google für die Obfuskation von [[Android (Betriebssystem)|Android-Programmen]] empfohlen.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://developer.android.com/build/shrink-code |titel=Shrink, obfuscate, and optimize your app {{!}} Android Studio |werk=developer.android.com |hrsg=google |sprache=en |abruf=2024-02-20}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript ===&lt;br /&gt;
Für das Verschleiern von [[JavaScript]]-Code gibt es eine große Anzahl an Obfuskatoren. Ein Großteil dieser Obfuskatoren unterstützt auch die Verkleinerung des Codes, bzw. es gibt viele Minimizer, die auch Obfuskationstechniken enthalten. Die folgende Liste an JavaScript-Obfuskatoren sind Programme, deren Hauptmerkmal die Obfuskation von JavaScript-Code ist: JScrambler,&amp;lt;ref&amp;gt;{{Webarchiv|url=https://jscrambler.com/en/ |wayback=20150320193817 |text=JScrambler Homepage }}&amp;lt;/ref&amp;gt; JSObfuscator,&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.cleancss.com/javascript-obfuscate/ |titel=Javascript Obfuscate and Encoder |sprache=en |abruf=2024-02-20}}&amp;lt;/ref&amp;gt; Javascript Obfuscator,&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.javascriptobfuscator.com/Default.aspx |titel=Javascript Obfuscator - Protects JavaScript code from stealing and shrinks size - 100% Free |abruf=2024-02-20}}&amp;lt;/ref&amp;gt; UglifyJS,&amp;lt;ref&amp;gt;{{Internetquelle |url=http://marijnhaverbeke.nl/uglifyjs |titel=UglifyJS JavaScript minification |datum=2016-04-01 |abruf=2024-02-20 |archiv-url=https://web.archive.org/web/20160401001340/http://marijnhaverbeke.nl/uglifyjs |archiv-datum=2016-04-01 |offline= |archiv-bot=2024-04-03 14:27:20 InternetArchiveBot }}&amp;lt;/ref&amp;gt; Compressor and Minimizer,&amp;lt;ref&amp;gt;{{Internetquelle |url=http://javascript-source.com/ |titel=Javascript Obfuscator - Stop theft of your JavaScript sources! |abruf=2024-02-20}}&amp;lt;/ref&amp;gt; Stunnix,&amp;lt;ref&amp;gt;{{Internetquelle |url=http://stunnix.com/prod/jo/ |titel=JavaScript Obfuscator |hrsg=stunnix |sprache=en |abruf=2024-02-20}}&amp;lt;/ref&amp;gt; Jasob.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://jasob.com/ |titel=JavaScript Obfuscator - Protect your JavaScript Code |abruf=2024-02-20}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nachteile von Obfuskation ==&lt;br /&gt;
Obfuskation kann [[Reverse Engineering]] eines Programms erschweren bzw. zeitaufwändiger werden lassen, aber nicht notwendigerweise unmöglich machen.&amp;lt;ref&amp;gt;{{cite web |url=http://www.math.ias.edu/~boaz/Papers/obf_informal.html |title=&amp;quot;Can We Obfuscate Programs?&amp;quot; by Boaz Barak |publisher=Math.ias.edu |accessdate=2013-11-25 |archiveurl=https://web.archive.org/web/20140810172640/http://www.math.ias.edu/~boaz/Papers/obf_informal.html |archivedate=2014-08-10 |offline=yes }}&amp;lt;/ref&amp;gt; Darüber hinaus beschränkt es die Anwendungsmöglichkeiten der [[Reflexion (Programmierung)|Reflexion]] auf verschleierten Code.&lt;br /&gt;
&lt;br /&gt;
Einige [[Antivirusprogramm|Antivirus]]-Programme, wie etwa [[AVG Antivirus|AVG]],&amp;lt;ref&amp;gt;[http://www.avgthreatlabs.com/virus-and-malware-information/info/javascript-obfuscation/ AVG ThreatLabs (Virendatenbank) über verschleiertes JavaScript], abgerufen am 1. März 2015&amp;lt;/ref&amp;gt; alarmieren den Benutzer beim Besuch einer Website mit verschleiertem JavaScript-Code, da Obfuskation auch dazu benutzt werden kann, schädlichen Code zu verbergen.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Chris Wysopal |url=http://www.securityfocus.com/columnists/498 |titel=Good Obfuscation, Bad Code |werk=SecurityFocus |datum=2009-04-17 |sprache=en |abruf=2024-02-20 |archiv-url=https://web.archive.org/web/20160303204801/http://www.securityfocus.com/columnists/498 |archiv-datum=2016-03-03 |offline= |archiv-bot=2024-04-03 14:27:20 InternetArchiveBot }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obfuskation erschwert es, aussagekräftige Fehlermeldungen zu erstellen, da Standard-Fehlermeldungen wie beispielsweise Stack-Traces kaum noch Aussagekraft besitzen und den Entwicklern keine Rückschlüsse auf die betroffene Sourcecodestelle ermöglichen.&lt;br /&gt;
&lt;br /&gt;
== Obfuskation und die Copyleft-Lizenz ==&lt;br /&gt;
Ob es legal ist, eine [[Copyleft]]-Softwarelizenz zu umgehen, indem verschleierter Quelltext herausgegeben wird, war Gegenstand von Debatten innerhalb der [[Open Source|Open-Source]]-Community. Diese Art der Umgehung kommt vor, wenn der Autor wenig gewillt ist, den Quelltext des eigenen Programms zu veröffentlichen, durch die Lizenz des ursprünglichen Programms jedoch dazu gezwungen wird. Die Thematik wird in der [[GNU General Public License]] behandelt, indem sie Quellcode als die &amp;#039;&amp;#039;bevorzugte&amp;#039;&amp;#039; Version von veröffentlichtem Code bezeichnet.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://lwn.net/Articles/431651/ |titel=Reasoning behind the &amp;quot;preferred form&amp;quot; language in the GPL |werk=LWN.net |datum=2011-03 |sprache=en |abruf=2013-11-25}}&amp;lt;/ref&amp;gt; Die [[GNU]]-Website teilt mit, dass verschleierter Quellcode kein echter Quellcode ist und nicht als Quellcode zählt, womit die Anwendung von Obfuskatoren auf GPL-geschützten Quellcode in den Augen des GNU-Projekts eine Lizenzverletzung darstellt.&amp;lt;ref&amp;gt;[https://www.gnu.org/philosophy/free-sw.html Freie-Software-Definition - www.gnu.org]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Obfuskation (kryptografisch)|Kryptografische Obfuskation]]&lt;br /&gt;
Es gibt [[Programmierwettbewerb]]e für kreativ verschleierte Programm-Quelltexte, was jedoch nur für Skriptsprachen einer Obfuskation entspricht:&lt;br /&gt;
* International Obfuscated Ruby Code Contest – Programmiersprache [[Ruby (Programmiersprache)|Ruby]]&lt;br /&gt;
* [[Obfuscated Erlang/OTP Competition]] – Programmiersprache [[Erlang (Programmiersprache)|Erlang]]&lt;br /&gt;
* [[Obfuscated Perl Contest]] – Programmiersprache [[Perl (Programmiersprache)|Perl]]&lt;br /&gt;
* [[IOCCC]], der &amp;#039;&amp;#039;International Obfuscated C Code Contest&amp;#039;&amp;#039; – Programmiersprache [[C (Programmiersprache)|C]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* {{Webarchiv|url=http://www.cs.arizona.edu/~collberg/Research/Publications/CollbergThomborsonLow97a/ | wayback=20120116175137 | text=Eine Taxonomie der Obfuscation}} (englisch)&lt;br /&gt;
* Erica Klarreich: [https://www.wired.com/2014/02/cryptography-breakthrough/ &amp;#039;&amp;#039;Cryptography Breakthrough Could Make Software Unhackable&amp;#039;&amp;#039;.] (englisch)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Anti-Pattern]]&lt;br /&gt;
[[Kategorie:Programmierwerkzeug]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Megatherium</name></author>
	</entry>
</feed>