GUI-Benutzerhandbuch

Die GUI führt die Schutzaufgaben schrittweise per Assistent durch, wobei der Ablauf wie folgt ist:

Anwendungsart → Eingabe/Ausführung/Plattform → Einfache oder fortgeschrittene Parameter → Ausgabe bestätigen → Ausführen

1. Anwendungstyp

GUI-EinstellungenEingabeAusgabeEntsprechende CLI
Java ApplicationNormales ausführbares JARVollständiger Anwendungsverzeichnisjavaapp
Spring BootSpring Boot-AnwendungVollständiger Anwendungsverzeichnisspringboot
Tomcat WARWAREmbedded Tomcat-Verzeichnistomcat
Library EncryptionJeglicher JAR-DateiEinzige P4JX-Archivdateiencode

Die Auswahl des falschen Typs kann dazu führen, dass die Hauptklasse, Abhängigkeiten, Web-Ressourcen oder der Starter nicht ordnungsgemäß verarbeitet werden.

Seite für Anwendungstypen

2. Eingabe, Laufzeit und Zielplattform

Eine einmalige Assistentenaufgabe erlaubt es, eine Eingabedatei im Format JAR oder WAR auszuwählen. Anschließend wird gefragt:

  • Bundled Java version: 8, 11, 17, 21 oder 25, Standardwert ist 21.
  • Target platforms: Es ist möglich, mehrere Plattformen auf einmal auszuwählen.
  • Mode: Einfachmodus oder Fortgeschrittenenmodus.

Wenn mehrere Plattformen ausgewählt werden, erstellt das Tool für jede Plattform einen eigenen Ordner.

Eingabe, Java-Version und Zielplattform-Seite

3. Einfachmodus

Der Einfachmodus eignet sich für die überwiegende Mehrheit der ersten Paketierungsaufgaben. Beim Verlassen der Eingabeseite führt das Tool automatisch eine Kompatibilitätsprüfung durch und wählt auf Basis der Ergebnisse aus:

  • Klassen, die ausgeschlossen werden sollten;
  • Ob JavaFX und WebView aktiviert werden sollen;
  • Ob der Scanner ZIP Overlay aktiviert werden soll;
  • Ob auf das Suffix .jar umgestellt werden soll;
  • Die empfohlene Layout-Struktur für Spring Boot;
  • Tomcat 9 oder 10.1.

Die Scan-Ergebnisse sind Empfehlungen aus der statischen Analyse und stellen keine vollständigen Laufzeittests dar. Nach dem Paketieren sollten dennoch Anwendungstests auf der Zielplattform durchgeführt werden.

4. Erweitertes Modus

Im erweiterten Modus können das Archiv-Suffix manuell konfiguriert, festgelegt werden, ob JIT deaktiviert wird, eine scanner overlay-Schicht hinzugefügt, JVM-Parameter festgelegt, Ausschlussregeln gesetzt sowie spezielle Optionen für verschiedene Anwendungsarten eingestellt werden.

Eine umfassende Anleitung zur Bedienung, Erklärungen zu den Parametern, Standardwerte sowie Unterschiede bei den Anwendungsarten finden Sie in Einstellungen für den Fortgeschrittenen-Modus von Protector4J.

Erweiterte Parameter für herkömmliche Java-Anwendungen

5. Ausnahmeregelungen

Für GUI und CLI gelten dieselben Regeln:

com.example.SecretService   Genauer Klassennamen
com.example.service.*       Nur aktuelles Paket
com.example.service.**      Aktuelles Paket sowie alle Unterpakete

Es wird empfohlen, DTOs, Entitäten, Controller, Konfigurationsklassen, JNI-Brückenklassen sowie Klassen, die eine Laufzeit-Bytecode-Verstärkung benötigen, auszuschließen, um nur die Kernbusiness-Logik zu schützen.

6. Ausgabebestätigung

Auf der letzten Seite werden angezeigt:

  • Eingabe und Anwendungsart;
  • Java-Version und Zielplattform;
  • JavaFX-Status;
  • Archivierungsformat, JIT, Overlay und Spring-Layout;
  • Schutzumfang, Ausschlussregeln und Tomcat-Context.

Es kann Create new folder ausgewählt werden, um im Ausgabeverzeichnis ein einzigartiges Unterverzeichnis p4jx-xxxx zu erstellen. Diese Option kann nicht aktiviert werden, wenn Anwendungen zu Tomcat hinzugefügt werden, da das vorhandene Tomcat-Paketverzeichnis direkt angegeben werden muss.

Bestätigung der Ausgabe und Zusammenfassung der Parameter

7. Export und Laden von Aufgabendateien

Die Seite mit fortgeschrittenen Parametern sowie die Endbestätigungsseite können exportiert werden:

  • p4j-encrypt-run.sh
  • p4j-encrypt-run.bat

Skripte rufen die installierte Kommandozeile p4j auf und speichern die derzeit analysierten Optionen. E-Mail-Adresse und Passwort des Kontos werden nicht in die Datei geschrieben.

Mit Load Task File oben im Fenster können Skripte neu geladen und Aufgaben wiederhergestellt werden, anschließend wird direkt die Endbestätigungsseite angezeigt. Wenn alte Skripte keine Aufgabemetadaten enthalten, versucht die GUI, die darin enthaltenen Befehle p4j zu analysieren.