Zum Inhalt springen

Javascript für Adobe Illustrator 2023 verschlüsseln

Von Null auf ... Javascript in Illustrator – eine kurze, einfache Einführung, Teil 08. Javascript als jsxbin verschlüsseln bzw. kompilieren. Programmier-Helfer, programmer’s helper, programming helper.

(Info:) … oder wie ein Benutzer Variablen eines verschlüsselten Javascripts im Quellcode verändern kann. Im ersten Teil des Artikels »Javascript für Adobe Illustrator 2022 verschlüsseln« haben Sie in kurzen Mini-Tutorials Von Null auf … erfahren, wie Sie ein Javascript für Adobe Illustrator, Photoshop, InDesign, InCopy, Bridge oder FrameMaker verschlüsseln können und welche Vorteil und Nachteile dies hat.
In diesem zweiten Teil des Artikels »Javascript für Adobe Illustrator 2023 verschlüsseln« lernen Sie einen Trick kennen, mit dem es einem Benutzer möglich ist, die Werte von Variablen auch eines verschlüsselten Javascripts zu verändern.
(Hinweis:) Beide Artikel funktioniert auch mit älteren Versionen von (AI:), (PS:), (ID:), (IC:), (BR:) oder (FM:).

(Tipp:) Wenn Sie noch nicht mit Javascript vertraut sind, dann lesen Sie zuerst die Artikel »Illustrator mit Javascript automatisieren«.

(Hilfe:) Sie wollen oder können nicht selbst programmieren? Sie brauchen kurzfristig ein Javascript für eine Automatisierung für ein aktuelles Problem in Illustrator oder einem anderen Adobe Programm? Dann helfe ich Ihnen gerne als JavaScript-Entwickler mit meiner jahrzehntelang Programiererfahrung.
Schreiben Sie mir einfach und unverbindlich per Kontaktformular.

Inhaltsverzeichnis

Das Problem mit verschlüsselten Javascript

Wenn Sie ein Javascript mit Visual Code Studio (VCS) verschlüsseln, schützen Sie Ihr Javascript gegen Veränderungen durch Benutzer. Jedoch hat dann Benutzer ausser über eine Abfrage (Dialog oder User Interface) keine Möglichkeit Variablen zu verändern. Das Programmieren einer Benutzeroberfläche (User Interface, kurz UI) ist in Javascript für Adobe Programme eine recht aufwendige Sache. Mehrere Dialoge empfinden Benutzer schnell als lästig. Trotzdem gibt es eine Möglichkeit, dass ein Benutzer Werte von Variablen in einem verschlüsselten Javascript im Quellcode verändern kann.

Verändern von Variablen in einem verschlüsselte Javascript durch den Benutzer

Der Trick ist, dass Sie die Variablen, die ein Benutzer verändern kann, ausserhalb des verschlüsselten Javascripts schreiben. Somit hat der Benutzer dann die Möglichkeit diese im Quellcode zu verändern.

(1:) Zuerst überlegen Sie sich, welche Variablen durch eine Benutzer verändert werden dürfen. Im Fall, dass der Benutzer die Variablen löscht, sollten Sie abfragen, ob die Variablen undefiniert sind. Sollte dies der Fall sein, dann müssen Sie für den fehlerfreien Ablauf des Javascripts den Variablen jeweils einen (Standard-)Wert zuweisen, (siehe:) (A:) im folgenden Code:

// Test for global variable
/*
	var gTest = "Test"; // (B)
*/
// start of javascript
if (gTest == undefined) { var gTest = "Standardwert"; } // (A)
alert ("Die Variable gTest hat den Inhalt »"+gTest+"«.");
// end of javascript

(Hinweis:) Die drei Zeile (B:) wären nicht nötig. Jedoch ist es hilfreich, die Variablen in einen Kommentarbereich »/* … */« zu schreiben. So können die Variablen später (in Schritt (4:)) in das zusammengesetzte Javascript einsetzen werden.

(2:) Verschlüsseln Sie Ihr Javascript mit Visual Code Studio (VCS). Sie erhalten ein Javascript mit der Endung ».binjsx«.

(3:) Mit meinem Javascript »placeJSXBINintoJSX.jsx« können Sie das in Schritt (2:) erzeugte verschlüsselte Javascript in ein normal lesbares Javascript umwandeln und trotzdem die Verschlüsselung erhalten. Dies ist die Voraussetzung, dass ein Benutzer die Variablen trotz Verschlüsselung verändern kann.

(4:) Öffnen Sie das in Schritt (3:) erstellte Javascript.

// Global variables that can be changed by the user: (C)

// start of javascript
var fCode = new Function ("@JSXBIN@ES@2.0@MyBbyBn0ACOFbyFn0ABJFnASzFjHiUjFjTjUByBneMiTjUjBjOjEjBjSjEjXjFjSjUftACzChdhdCVBfyBjzJjVjOjEjFjGjJjOjFjEDfnnnJGnAEjzFjBjMjFjSjUEfRBCzBhLFCFnVBfyBehDiEjJjFhAiWjBjSjJjBjCjMjFhAjHiUjFjTjUhAjIjBjUhAjEjFjOhAiJjOjIjBjMjUhAlbnnneClLhOffABB40BiAABAzAGByB")
fCode.apply(null);
// end of javascript

Nun können Sie die in Schritt (1:) auskommentierten Variablen (B:) nach der Zeile (C:) einfügen. Das siehst dann so aus:

// Global variables that can be changed by the user: (C)
    var gTest = "Test"; // (B)
// start of javascript
var fCode = new Function ("@JSXBIN@ES@2.0@MyBbyBn0ACOFbyFn0ABJFnASzFjHiUjFjTjUByBneMiTjUjBjOjEjBjSjEjXjFjSjUftACzChdhdCVBfyBjzJjVjOjEjFjGjJjOjFjEDfnnnJGnAEjzFjBjMjFjSjUEfRBCzBhLFCFnVBfyBehDiEjJjFhAiWjBjSjJjBjCjMjFhAjHiUjFjTjUhAjIjBjUhAjEjFjOhAiJjOjIjBjMjUhAlbnnneClLhOffABB40BiAABAzAGByB")
fCode.apply(null);
// end of javascript

Fazit

Das Verschlüsseln von Javascripts für Adobe Programme wie (AI:), (PS:), (ID:), (IC:) oder (BR:) ist mithilfe von Visual Studio Code möglich. Jeder Programmierer muss selbst entscheiden, ob sich der Aufwand für ihn lohnt. Mit dem oben beschrieben Weg kann ein Benutzer Variablen eines verschlüsselten Javascripts im Quellcode verändern.

ENDE

(Hilfe:) Wenn Sie eine Funktion in (AI:), (PS:), (IC:), (ID:) oder (FM:) benötigen, jedoch nicht selbst programmieren, dann sprechen Sie mich an. Ich übernehme gerne kleine Aufträge: zum Kontaktformular.