Ich habe vor kurzem über Code-Verschleierung erfahren. Es ist eine nette Sache zu tun, wenn Sie Freizeit haben, aber ich habe andere Frage. Warum es tun?Verwendung von Code-Verschleierung in verschiedenen Sprachen
Erstens gibt es Sprachen, in denen ich sicher bin, dass es eine tolle Sache ist - interpretierte, wie PHP, JavaScript und vieles mehr. Da scheint es eine gute und sicherere Sache zu sein.
Zweitens gibt es Sprachen, in denen dies scheint keine wirkliche Wirkung für mich zu haben - alle kompilierten Sprachen nativen Code. Nimm zum Beispiel C. Wenn sie kompiliert werden, verschwinden alle Variablennamen, Funktionsnamen und die meisten Verschleierungstechniken. Wenn einige es in nativen Code machen können, wäre es Dinge wie Rekursion statt für Zyklen und so, aber disassemblierter Code wird sowieso anstelle von Namen einige Disassembler-generierte Identifikatoren haben, oder?
Und letzte Kategorie sind Sprachen, über die ich mir nicht ganz sicher bin. Und das ist der Hauptgrund, warum ich frage. Diese Sprachen wären Java, C# (.NET) und das letzte in WP7 verwendete Silverlight. Ich frage, weil ich einen Artikel gelesen habe, der besagt, dass Code-Verschleierung bei WP7-Apps dazu beiträgt, dass Code nicht gehackt wird. Aber ich dachte immer, dass Byte-Code den Standard-Assembler-Codes sehr ähnlich ist und daher auch keine Informationen über echte Variablennamen, Funktionsnamen usw. vor der Kompilierung enthält. Also, wo ist die Wahrheit?
Die Wahrheit ist, dass Sie es nicht tun, es sei denn, Sie sind gelangweilt und in diese Art von Zeitvertreib oder sind ein Paranoiker, der denkt, dass die ganze Welt versuchen wird, ihre Super-Duper-innovative Ideen zu stehlen. Und die "Sicherheit", die es bringt, ist nicht da, es ist ein falsches Gefühl der Sicherheit, ähnlich dem, das von "Sicherheit durch Dunkelheit" beschrieben wird. – delnan