747 Stimmen

Wie kann ich JavaScript verschleiern (schützen)?

Ich möchte eine JavaScript-Anwendung erstellen, die nicht quelloffen ist, und daher möchte ich lernen, wie ich meinen JS-Code verschleiern kann? Ist das möglich?

22 Stimmen

Das Argument, man dürfe nichts verschleiern, scheint mir nicht stichhaltig zu sein. Es sei denn, Sie glauben wirklich, dass Ihre Benutzer Fehler beheben/berichten könnten, dann sollten Sie es tun. Es kann die Ladezeiten durch Minifying verringern. Es wird niemals einen wirklich engagierten Hacker aufhalten, aber es wird ihn/sie verlangsamen und es wird halbherzige Hackversuche verhindern. Es ist sehr einfach zu machen und es gibt viele Tools (siehe andere Antworten), ich würde sagen, mach es auf jeden Fall, da es meistens nur Vorteile bringt, aber erwarte nicht, dass es wirkliche Sicherheit bringt oder jemanden davon abhält, deinen Code zu kopieren, wenn er es wirklich will. Die einzige Möglichkeit, dies zu tun, ist, den Code serverseitig zu halten und Ajax zu verwenden.

0 Stimmen

Der beste Javascript Obfuskator So funktioniert es bei mir. Es wird sogar nicht von js beautifier dekodiert. ;)

1 Stimmen

Die meisten der hier erwähnten Obfuskatoren können einfach durch die Einstellung window.eval = console.log.bind(console); bevor Sie das Skript ausführen. Im besten Fall ist das Ergebnis nach der Ausführung des Skripts dasselbe wie bei der Ausführung eines Minifizierers für das Original, daher sehe ich keine wirklichen Vorteile der Verwendung eines speziellen Obfuskators gegenüber der Verwendung eines Minifizierers. Zumal obfuskierter Code in der Regel aufgeblähter (und langsamer zu laden) ist als minifizierter Code.

4voto

xgMz Punkte 3119

Ich habe den Eindruck, dass einige Unternehmen (z. B. JackBe) verschlüsselten JavaScript-Code als zusätzliche Verschleierungsmaßnahme in *.gif-Dateien und nicht in JS-Dateien ablegen.

4voto

shaILU Punkte 1952

Ich verwende das Dienstprogramm Closure-Compiler für die Verschleierung von Java-Skripten. Es verkleinert den Code und hat mehr Optionen für die Verschleierung. Dieses Dienstprogramm ist bei Google-Code unter der folgenden URL verfügbar:
Verschluss-Tools

Aber jetzt a Tage höre ich viel von UglifyJS. Sie können verschiedene Vergleiche zwischen Closure Compiler und UglifyJS finden, in denen Uglify ein Gewinner zu sein scheint.
UglifyJS: Ein schneller neuer JavaScript-Kompressor für Node.js, der Closure ebenbürtig ist

Bald würde ich UglifyJS eine Chance geben.

0 Stimmen

Der Link ist tot.

0 Stimmen

Google hat es verschoben. Hier ist der neue Link: developers.google.com/closure/compiler

4voto

Matt Punkte 41

Ich habe mit Jasob seit Jahren, und es ist zweifellos der beste Obfuskator auf dem Markt.
Es verfügt über eine fortschrittliche Benutzeroberfläche und ist dennoch intuitiv und einfach zu bedienen.
Es kann auch HTML- und CSS-Dateien verarbeiten.

Am besten verwenden Sie es, wenn Sie alle Ihre privat Variablen mit einem Unterstrich versehen, dann die sort um sie alle zusammenzufassen und siehe sie als Ziele für die Verschleierung aus.

Benutzer können Ihren Quelltext immer noch einsehen, aber es ist viel schwieriger zu entschlüsseln, wenn Ihre privaten Variablen von etwas wie _sUserPreferredNickName a a .

Die Maschine zählt automatisch die Anzahl der Zielvariablen und priorisiert sie, um eine maximale Kompression zu erreichen.

Ich arbeite nicht für Jasob und habe nichts davon, für sie zu werben, sondern biete nur einen freundlichen Rat an.
Der Nachteil ist, dass es nicht kostenlos ist und ein wenig kostet, aber das ist es wert, wenn man es mit den Alternativen vergleicht - die "kostenlosen" Optionen kommen nicht einmal in die Nähe.

0 Stimmen

Jason scheint eher ein Minifier als ein Obfuscator zu sein. Übersehe ich etwas?

4voto

niutech Punkte 27051

Haben Sie versucht Bananascript ? Es erzeugt stark komprimierten und völlig unlesbaren Code.

21 Stimmen

Komprimiert es den Code gut, aber ändern Sie einfach die eval() in der letzten Zeile auf console.log() und Ihre Konsole spuckt das Ganze aus

3voto

Adrian Punkte 41

Als JavaScript/HTML/CSS-Obfuskator/Kompressor können Sie auch Folgendes ausprobieren Patu Digua .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X