[JAVA] Dinge zu überprüfen, wenn Sie nicht mit Proguard arbeiten

Eine Geschichte über das Exportieren eines JavaFX-Projekts und den Versuch, die erstellte JAR-Datei zu verschleiern. Aus der Schlussfolgerung ging hervor, dass die Anmerkung verschwand, wenn sie von Proguard verschleiert wurde. Als Gegenmaßnahme habe ich zunächst versucht, mit den folgenden Einstellungen zu verschleiern, die nichts bewirken.

#sample.pro
#Einstellung, nichts zu tun

-injars  'C:\******\input.jar'
-outjars 'C:\******\output.jar'

#Externes Glas
-libraryjars 'C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar'
-libraryjars 'C:\****\*****.jar'
-libraryjars 'C:\****\*****.jar'

#Attributeinstellung
-keepattributes *Annotation*, Signature, Exceptions, InnerClass

#Klasseneinstellung
-keep class * {
    *;
}

Wenn dies nicht funktioniert, sind die JAR-Dateieinstellungen möglicherweise falsch. Wenn es funktioniert, entfernen Sie den verschleierten Teil von hier. Klassifizieren Sie beispielsweise jedes Paket wie unten gezeigt und legen Sie jedes einzeln fest.

$sample2.pro
#Individuelle Einstellungen für jedes Paket

-injars  'C:\******\input.jar'
-outjars 'C:\******\output.jar'

#Externes Glas
-libraryjars 'C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar'
-libraryjars 'C:\****\*****.jar'
-libraryjars 'C:\****\*****.jar'

#Attributeinstellung
-keepattributes *Annotation*, Signature, Exceptions, InnerClass

#Klasseneinstellung
-keep class package1.* { *;}
-keep class package2.* { *;}
-keep class package3.* { *;}
-keep class package4.* { *;}

Recommended Posts

Dinge zu überprüfen, wenn Sie nicht mit Proguard arbeiten
Überprüfen Sie, ob Sie die Datenbindung verwenden und diese nicht funktioniert
@ClassRules funktioniert nicht mit PowerMockRunner
[Anfänger] Wenn Schienen nicht funktionieren
Was tun, wenn die Validierung mit der Aktualisierungsaktion nicht funktioniert?
Eine Sammlung von Links, denen Sie helfen möchten, wenn JSF überhaupt nicht funktioniert
Überprüfen Sie, wann Moos mit SimpleDateFormat analysiert wird
Dinge, die Sie beim Abfangen einer Anfrage mit Android WebView vergessen sollten # shouldInterceptRequest
Es ist in Ordnung, Nullen mit Javas `+` Operator zu kombinieren (er fällt nicht mit nullpo ab).
Beachten Sie Folgendes, wenn Sie Apache PDFBox® mit AWS Lambda verwenden
Wenn ich versuche, mich bei devise anzumelden, wird automatisch zu root_path umgeleitet
Simulator funktioniert nicht: Gerät kann aufgrund unzureichender Systemressourcen nicht gestartet werden
Dinge zu überprüfen, wenn Sie nicht mit Proguard arbeiten
Was tun, wenn TextToSpeech unter Android 11 nicht funktioniert?
java.lang.ClassNotFoundException: Korrespondenz mit javax.xml.bind.JAXBException
Was zu tun ist, wenn es ungültig ist, weil es nicht mit einem '-' beginnt
Dinge, die Sie beim Schreiben von Java beachten sollten
Dinge, die Sie beachten sollten, wenn Sie sich für CRuby entscheiden
So löschen Sie den dem Benutzer zugeordneten Tweet, wenn Sie ihn gleichzeitig löschen
Beim Importieren von CSV mit Rails war es wirklich einfach, den Befehl nkf zu verwenden
Was tun, wenn die Routing-Einstellungen nach dem Erstellen einer Docker-Umgebung mit Laravel nicht funktionieren?
7 Dinge, die du behalten sollst, damit es kein verdammter Code wird