+10 Daumen
196 Aufrufe

Ich habe gerade ein "Code-Obfuscation-Tool" entwickelt, das folgenden (kompilier- und lauffähigen!) Java-Code erzeugt:

obfuscation.png

Den Code könnt ihr euch herunterladen (code.txt (1 kb)) oder hier ansehen:

public class Obfuscation {/**\u002a\u002f\u0020\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0076\u006f\u0069\u0064\u0020\u006d\u0061\u0069\u006e\u0028\u0066\u0069\u006e\u0061\u006c\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u002e\u002e\u002e\u0020\u0061\u0072\u0067\u0073\u0029\u007b\u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0022\u0041\u006e\u006e\u0079\u0065\u006f\u006e\u0067\u0068\u0061\u0073\u0065\u0079\u006f\u0021\u0022\u0029\u003b\u007d}


Nach dem Kompilieren und Starten des Programms wird man auf Koreanisch begrüßt (romanisierte Form von 안녕하세요). Weshalb Java scheinbar einen Kommentar als Code ausführt, ist klar.

Ich stelle mir allerdings die Frage, ob die gängigen IDEs/Editoren diesen "Bug" bewusst zulassen, um Leser zu verwirren. Durch die Färbung wirkt es nämlich so, als ob es sich um einen JavaDoc-Kommentar handelt. Dem ist aber nicht so, da das erste auftauchende \u002f den Kommentar bereits schließt. Die in IDEs/Editoren eingebaute Code-Coloring-Funktion "überliest" das wohl. Siehe z.B. auch:

code_.png  

Dabei wäre es sehr einfach, eine weitere Regel hinzuzufügen, um diese Täuschung zu unterbinden. 

Meint ihr, dass das intendiert ist?

Gefragt von 7,0 k

Hier gibt es kein richtig oder falsch ;-) Ich bin eher an einem Meinungsaustausch interessiert.

Perfekt ... wer hat den Hintergrund für den Code eingefügt? Ich dachte, dass das nicht erlaubt ist.

Für die Byte-/Algolounge (sollte sie denn kommen) könnten wir ein Code-Coloring-Tool zur Verfügung stellen, das dann bspw. so etwas beim Posten erzeugt:

kjh.pngDas nutze ich z.B. bei mir.

Den <code> habe ich im HTML-Modus gesetzt. Dieser Tag ist erlaubt. Siehe https://www.mathelounge.de/faq#qu76

Wenn es eine Lounge für Informatik geben sollte, dann werden wir dort sehr wahrscheinlich einen Markdown-Editor mit Code-Coloring verwenden. Jeder, der programmiert, sollte Markdown können (auch wenn es zu Beginn ein wenig gewöhnungsbedürftig ist).

Es scheint wohl wirklich ein Bug in den meisten Editoren zu sein. Unter NetBeans 8.2 EE bspw. wird die Schummelei erkannt:

dskjhvsduvhiusviusghdviu.png

Sollte sonst keiner einen Beitrag leisten wollen, kann diese Frage gerne als "erledigt" geschlossen werden :-)

1 Antwort

0 Daumen
 
Beste Antwort

Ich halte das ebenfalls für einen Bug.

Beantwortet von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage sofort und kostenfrei

x
Made by a lovely community
...