Diskussion:Obfuskation (Software)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Diese Diskussionsseite dient dazu, Verbesserungen am Artikel „Obfuskation (Software)“ zu besprechen. Persönliche Betrachtungen zum Thema gehören nicht hierher. Für allgemeine Wissensfragen gibt es die Auskunft.

Füge neue Diskussionsthemen unten an:

Klicke auf Abschnitt hinzufügen, um ein neues Diskussionsthema zu beginnen.
Zum Archiv
Auf dieser Seite werden Abschnitte ab Überschriftenebene 2 automatisch archiviert, die seit 7 Tagen mit dem Baustein {{Erledigt|1=--~~~~}} versehen sind.

Das Kapitel Programme hat seit Kurzem drei Abschnitte: Der erste beschreibt den Windows Script Encoder, ein Microsoft-Programm, das selbiger Hersteller für diverse Scriptsprachen empfiehlt, um im Falle der Kompromittierung eines Webservers nicht den dort laufenden Code sofort offenzulegen. Der zweite listet eine ganze Reihe Obfuscatoren für Java auf, eine sehr populäre Programmiersprache, die nicht kompiliert, sondern nur in einen relativ leicht lesbaren Bytecode übersetzt wird. Und der dritte behandelt neuerdings einen einzelnen Obfuscator für PHP - wie beim WSE eine üblicherweise serverseitig eingesetzte Scriptsprache, aber eben eine einzelne, und Phpobsu ist weder von einem Weltkonzern entwickelt worden, noch kostenlos, noch konkurrenzlos oder zumindest übermässig populär in seinem Sektor (ein kurzes Googeln nach "php obfuscator" liefert haufenweise Ergebnisse, und Phpobsu taucht da irgendwo auf Position 10 auf), und (anders als etwa der Microsoftsche Script Encoder, der tatsächlich verschlüsselt) sicher auch nicht sonderlich gut - der softwareschmiede.org/de/phpobsu.php Programmbeschreibung nach besteht die Funktion ausschliesslich darin, alle Bezeichner umzubenennen und Kommentare sowie Zeilenumbrüche zu entfernen. Ich werde den Eintrag für Phpobsu daher wieder entfernen, weise aber darauf hin, dass danach mit dem WSE auf der einen und 17 (!) Java-Obfuscatoren auf der anderen Seite ein etwas einseitiges Bild zurückbleibt, das entweder um weitere populäre Beispiele ergänzt oder auf Java-Seite auf die wirklich relevanten reduziert werden sollte. --YMS (Diskussion) 17:11, 9. Dez. 2014 (CET)[Beantworten]

+1. Zu den Java-Obfuscatoren eine kleine Google Recherche gemacht:
hier und hier findet man eine lange Liste, hier und hier einen Vergleich einiger der Tools
  • bb_mug - scheint tot zu sein (31.8.2011), wobei es schonmal tot war (von 28.2.2006 bis 30.8.2011) - die Website wird nicht mehr gewartet
  • CodeShield - mit Google keine Website etc. gefunden. http://www.codingart.com/codeshield.html (Website lt. java2s) existiert nicht
  • DashO - gibts, ist kommerziell, aber keine Version erkennbar. Die Site kennt aber Java 1.8...
  • jarg - ist tot (29.1.2003)
  • JavaGuard - lebt vermutlich (30.4.2014)
  • JCloak - ist kommerziell und vermutlich tot (lt About Page "early 1999")
  • jmangle - mit Google keine Website etc. gefunden. http://www.elegant-software.com/software/jmangle/ (Website lt. Vergleich) existiert nicht
  • JOBE - ist vermutlich ein Schreibfehler, sollte JODE sein (siehe nächster Eintrag).- Google kennts nicht
  • Jode - ist tot (News: JODE 1.1.1 is out. With support for javac v8 (jdk 1.3))
  • JShrink - nicht zu verwechseln mit dem gleichnamigen JavaScript Mimimizer - kommerziell, scheint aber tot zu sein (User Manual ist von 2010)
  • Marvin - ist tot: Google findet dasselbe wie java2s: http://www.drjava.de/obfuscator/, Site ist zu verkaufen
  • ProGuard - auf jeden Fall relavant, da Wikipedia Seite
  • Sandmark - ist tot (11.8.2004)
  • Retroguard - ist tot (28.2.2007), kein download auf der Website
  • Smokescreen - ist tot, google kennts nicht, website ist down
  • yGuard lebt
  • Zelix Klassmaster - lebt
Ich habs mal reduziert auf diejenigen, die leben. Habs auch mit den Links versehen... --Sebastian.Dietrich 08:32, 10. Dez. 2014 (CET)[Beantworten]

Es gibt weder eine Begründung, warum nur Obfuskatoren für Java uns Windows Script Encoder aufgeführt sind, noch wird (im Artikel) genannt, warum gerade die dort genannten (und keine anderen) angegeben sind. Aus WP:Listen:

"Oft müssen für eine Liste die Informationen aus einer größeren Menge ausgewählt und begrenzt werden. Artikel und Listen sollen nur für das Thema wesentliche Informationen enthalten und der Leser soll objektiv informiert werden. Wenn möglich, sollte man bei der Auswahl der Informationen reputablen, fachkundigen Quellen folgen, zumindest sollte es aber erkennbare, angemessene Kriterien für die Auswahl geben (vgl. Wikipedia:Neutraler Standpunkt)."

  • "für das Thema wesentliche Infos" - nicht ersichtlich
  • "Auswahl aufgrund reputabler Quellen" - kein entsprechender Beleg ersichtlich
  • "erkennbare, angemessene Kriterien" - (im Artikel) kein Wort dazu...

Im derzeitigen Zustand kann so eine Liste auf der Disku-Seite stehen, im Artikel ist das einfach zu willkürlich.

--arilou (Diskussion) 16:34, 3. Feb. 2015 (CET)[Beantworten]

Inzwischen gibts ja schon Aufzählungen für Java, .Net, C, C++, JScript/VBScript/ASP und insbesondere JavaScript. Ich halte die Aufzählung von Programmen (noch dazu, wo es sich um eine überschaubare Liste handelt) für essentiell für den Artikel. Einerseits ist diese Auflistung vermutlich für viele der Leser ein wichtiger Anhaltspunkt, was sie denn so einsetzen können, andererseits hilft es Falschaussagen wie dass es "keine JavaScript-Obfuscatoren im reinen Sinne gibt" zu verhindern.
WP:Listen betrifft Listenartikel und nicht Listen in Artikeln. Dennoch sollten mMn die oben genannten Kriterien erfüllt sein:
  • "für das Thema wesentliche Infos" - siehe oben - ich halte die Aufzählung der (wenigen) Programme für essentiell.
  • "Auswahl aufgrund reputabler Quellen" - Auswahl ist denke ich nicht notwendig, da die Anzahl an Obfuskatoren enden wollend ist
  • "erkennbare, angemessene Kriterien" - detto
Fazit: Ich denke die hier vorliegenden Programme sind bereits fast alle, die es zu diesem Thema gibt. Es würde mich wundern, wenn es zu vielen anderen Programmiersprachen noch Obfuskatoren gäbe. --Sebastian.Dietrich 20:31, 22. Apr. 2015 (CEST)[Beantworten]

Ein Artikel über Obfuskation macht mMn nur wenig Sinn, wenn er nicht auch eine Liste von Obfuskatoren enthält. Ich hab mal mühsam selbst aus den vielen existierenden Java Obfuskatoren diejenigen herausgepickt, die überhaupt noch aktiv gewartet werden (siehe oben). Das wurde aber nachdem es schon viele Monate im Artikel drinnen war bereits 2x mit Begründung "Programmliste gelöscht" [1] bzw. "Keine Angabe, WARUM gerade diese "erwähnenswert" sein sollten - und andere nicht." [2] von @arilou auskommentiert bzw. gelöscht.

So eine Liste kann nie vollständig sein und braucht ein Einschränkungskriterium. "Erwähnenswert" ist kein gutes Einschränkungskriterium, da gebe ich dir recht. Aber sie deshalb zu löschen ist nicht ok.

Ich hab die Liste also wieder reingegeben und das "erwähnenswert" als Einschränkung gegen ein "aktiv gewartet" getauscht. Wenn euch das noch zu offen ist, dann bitte um ein besseres Einschränkungskriterium (dass man auch validieren kann). Wenn euch in der Liste was fehlt, dann bitte um Ergänzung. --Sebastian.Dietrich 16:47, 3. Feb. 2015 (CET)[Beantworten]

  1. "noch aktiv gewartet" ist schon deutlich besser als "erwähnenswert" - zumindest ist es eine überprüfbare Eigenschaft.
  2. "Ein Artikel über Obfuskation macht mMn nur wenig Sinn, wenn er nicht auch eine Liste von Obfuskatoren enthält."
    Wikipedia ist keine Linkliste, und auch keine "Gelbe Seiten". Es sollten nur jene Obfuscatoren aufgeführt werden, die eine herausragende Eigenschaft besitzen (natürlich inkl. Nennung selbiger) und somit Meilensteine waren ("geschichtlich relevant").
    Alternativ: Eine echte Liste der Obfuscatoren kann auch jene nennen, die keine Meilensteine sind/waren. Sie verpflichtet sich dann aber, alle zu nennen. "noch aktiv gewartet" wird dann zu einer Tabellenspalte ja/nein.
  3. Jetzt fehlt noch eine (objektive) Begründung, warum nur Java/WSE -Obfuscatoren aufgeführt werden. Denkbar wäre z.B.
    1. "für die verbreitetsten Programmiersprachen" (gemäß aktueller Analyse von Zeitschrift xyz, Stand 02/2015)
    2. "weil's nur für diese Sprachen Obfuscatoren gibt" (gemäß Google-Recherche mittels "Suchbegriffe", Stand 02/2015)
    3. ?
--arilou (Diskussion) 09:13, 4. Feb. 2015 (CET)[Beantworten]
  1. passt :-)
  2. Sehe ich nicht so. Das (herausragende Eigenschaften, Meilensteine) sind Relevanzkriterien für Artikel (siehe z.B. WP:RKSW) und nicht für Artikelinhalte. Warum sollte für eine Liste von Obfuskatoren was anderes gelten, als für eine Liste innerhalb des Artikels Obfuskation? Dasselbe müsste dann ja auch für den Abschnitt "Beispiele für Methoden der Code Obfuscation" gelten.
  3. Eine (objektive) Begründung, warum nur Java/WSE Obfuskatoren aufgeführt werden ist mMn nicht zielführend. Wir sollten hier möglichst alle Obfuskatoren nennen, die den genannten Relevanzkriterien (derzeit "noch aktiv gewartet") entsprechen. Für JavaScript gibt es sicher noch Obfuskatoren, detto für .Net, vermutlich auch für andere Skriptsprachen. Kurze Google Recherche zu Javascript obfuscator hat folgende ergeben: [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13]. Einige davon werden nur minimizer sein, andere nicht aktiv gewartet... --Sebastian.Dietrich 10:02, 4. Feb. 2015 (CET)[Beantworten]
Ich wüsste auch nicht woher die Idee kommt, dass nur die Obfuscatoren aufgeführt werden sollten, die eine herausragende Eigenschaft besitzen.--RöntgenTechniker (Diskussion) 13:25, 10. Feb. 2015 (CET)[Beantworten]

Begriffsherleitung Latein vs. Englisch[Quelltext bearbeiten]

Ich finde die Begriffsherleitung aus dem Lateinischen in der Einleitung sehr unglücklich. Wie viele andere Informatik-Begriffe auch stammt das Wort Obfuskation doch sicherlich von einer Nicht-Übersetzung aus dem Englischen. Daher sollte meiner Meinung nach ein Verweis auf den englischen Begriff und dessen deutsche Übersetzung zumindest zusätzlich zum lateinischen, aus dem der englische mal hervorgegangen ist, genannt werden. --Simified (Diskussion) 13:31, 16. Mai 2015 (CEST)[Beantworten]

Im Übrigen gibt es den lateinischen Begriff obfuscare gar nicht. Allenfalls auf pons.eu findet sich spätlateinisch offuscare (verdunkeln, übertr. herabwürdigen), in meinem gedruckten Wörterbuch (Stowasser) und weiteren Online-Wörterbüchern findet sich das Wort überhaupt nicht, sondern nur fuscare (schwärzen, bräunen). Wenn der Begriff sich vom Lateinischen herleitern würde, würde er also Offuskation lauten. --Simified (Diskussion) 13:42, 16. Mai 2015 (CEST)[Beantworten]
Sicher lässt sich der Begriff aus dem Lateinischen herleiten, so wie vieles / das meiste in der deutschen, englischen, französischen, italienischen, ... Sprache. Dass es dazwischen ein paar Lautverschiebungen gab und die Worte nicht mehr 1:1 dieselben sind, liegt auf der Hand. "off" und "obf" sind lt. meinem Stowasser auch schon im Lateinischen analog zu verwenden.
Dennoch bin ich auch der Meinung, dass die Begriffsherleitung aus dem Lateinischen nicht das beste ist. In letzter Konsequenz müsste man ja sonst bei allen Worherkünften "Latein" oder "Germanisch" angeben. Hergeleitet wird Obfuskation aus dem Englischen - dass das wiederum auf anderen Sprachen aufbaut tut nichts zur Sache.--Sebastian.Dietrich 15:07, 16. Mai 2015 (CEST)[Beantworten]

Liste der Wettbewerbe[Quelltext bearbeiten]

Die aufgelisteten Wettbewerbe sind keineswegs belanglos, sie werden es auch nicht dadurch, dass WB hier Löschanträge gestellt hat (warten wir doch bitte die Ergebnisse der jeweilige Löschdiskussion ab). Die Liste selbst ist eine sinnvolle Ergänzung des Artikelinhaltes, weil sie die Präsenz des Artikelthemas im Bereich der Netzkultur beleuchtet. --Mosmas (Diskussion) 13:41, 22. Okt. 2015 (CEST)[Beantworten]

Sehe ich genauso. --Porrohman (Diskussion) 18:27, 22. Okt. 2015 (CEST)[Beantworten]

Belege für "Obfuskation" fehlen[Quelltext bearbeiten]

Niemand (jedenfalls nach der im Artikel vorhandenen Quellenlage) benutzt den Begriff "Obfuskation". Alle Belege verweisen auf "Obfuscation". Also ist das "Lemma" WP:KTF. --Jürgen Erhard (Diskussion) 21:09, 15. Mär. 2023 (CET)[Beantworten]