So dekompilieren Sie Klassendateien in Java-Dateien
Apr 26, 2021 pm 02:00 PMMethode: 1. Laden Sie das Plug-in ?jad.exe“ herunter und legen Sie es im selben Verzeichnis wie die Datei ?.class“ ab. 2. ?ffnen Sie das cmd-Befehlsfenster und geben Sie mit dem Befehl cd das Verzeichnis ein, in dem sich ?Jad“ befindet .exe“ befindet; 3. Der Befehl ?Jad -d Java-Dateispeicherpfad-Sjava-Klassendateipfad“ ist ausreichend.
Die Betriebsumgebung dieses Tutorials: Windows7-System, Java8-Version, DELL G3-Computer.
1. Werkzeuge/Materialien
jad.exe-Dekompilierungs-Plug-in
Bitte beachten Sie die Download-Adresse:
https://varanekas.com/jad/
ttp://pan.baidu .com/ s/1qWmNlww
2. Methode/Schritt
Anleitung
- Unter den vielen JAVA-Dekompilierungstools gibt es mehrere sehr bekannte Tools, die dieselbe Kern-Engine verwenden – JAD, darunter Haupts?chlich darunter: Front End
Plus, mDeJava, Decafe Pro, Cavaj Java Decompiler, DJ Java
Decompiler, NMIs Java Class
Viewer und inl?ndische JAVA-Quellcode-Dekompilierungsexperten usw. JAD selbst ist ein Befehlszeilentool ohne grafische Oberfl?che. Die meisten der oben genannten Tools fügen lediglich eine grafische Oberfl?che hinzu, die auf dem JAD-Kernel basiert. Die gemeinsame Auswahl so vieler Produkte reicht aus, um die herausragende Position von JAD im Bereich der JAVA-Dekompilierung zu beweisen.
Vorgang
Jad.exe- und .class-Dateien im selben Verzeichnis ablegen (nicht erforderlich, optional, wird sp?ter erkl?rt)
Start-Ausführen (oder Win+R)-cmd ?ffnen ?ffnen Sie das Systembefehlsfenster und geben Sie das Verzeichnis ein, in dem sich Jad.exe befindet ?Bildbeschreibung hier einfügen“/>
Beispiel:
f: cd F:\Jad


Jad -d F:Jadtest -sjava test*.class
回車 即可生成Java文件
示例:
Jad -d F:\Jad\test -sjava test\*.class
備注說明: *.class 中*是通配符,默認選中此目錄下所有.class文件,如只需要反編譯某一個.class文件,可直接寫成 文件名+.class
如:Jad?-d?F:Jadtest?-sjava?testCaseInfoSaveAction.class
wie zum Beispiel: Jad -d F:Jadtest -sjava testCaseInfoSaveAction.class
Jad-Befehl--Hilfetipp:
-a - Verwenden Sie das JVM-Byteformat, um die Ausgabe mit Anmerkungen zu versehen
-af – Gleich wie -a, aber verwenden Sie beim Kommentieren den vollst?ndigen Namen
-clear – alle Pr?fixe l?schen
-b – redundante Klammern ausgeben (z. B. if(a) { b(); } , Standard: nein)
-d – Dateiverzeichnis der Ausgabedatei angeben
-dead – versucht, den toten Teil des Codes zu dekompilieren (Standard: nein)
-disass – dekompiliert nicht im Bytecode (kein JAVA). Quelle generiert)
-f – gibt den gesamten Namen aus, unabh?ngig davon, ob es sich um eine Klasse oder eine Methode handelt
-ff – gibt die Mitglieder der Klasse vor der Methode aus (Standard: nach Methoden)
-i – gibt den Standardanfangswert aller Variablen aus
-l – Zeichenfolgen in die angegebene Anzahl von Zeichenbl?cken aufteilen (Standard: Nein)
-lnc – Die Ausgabedatei mit Zeilennummern versehen (Standard: Nein)
-nl – Zeichenfolgen mit Zeilenumbrüchen aufteilen (Standard). : nein)
-nodos – Nicht prüfen, ob die Klassendatei mit ?Schreiben im DOS-Modus“ endet (CR vor NL, Standard: prüfen)
-nocast – keine Hilfsdateien generieren
-nocode – den Quellcode des nicht generieren Methode
-noconv – keine Java-Definitionen konvertieren (Standard: tun)
-noctor – keine leeren Konstruktoren zulassen
-noinner – Unterstützung für innere Klassen ausschalten (Standard: einschalten)
-nolvt – Tabelleninformationen für lokale Variablen ignorieren
-nonlb – keine neue Zeile ausgeben, bevor eine Klammer ge?ffnet wird (Standard: do)
-o – Ausgabe ohne Best?tigung überschreiben (Standard: nein)
-p – dekompilierten Code an die Standardausgabe STDOUT senden (z. B. für Piping)
-pa - Pr?fix, das zum Generieren aller Pakete in der Quelldatei verwendet wird
-pc – Pr?fix für Klassen mit numerischen Namen (Standard: _cls)
-pe – Pr?fix für nicht verwendete Ausnahmenamen (Standard: _ex)
-pf – Pr?fix für Felder mit numerischen Namen Namen (Standard: _fld)
-pi - verwenden.
-pl – Lokalen Variablen numerische Namen voranstellen (Standard: _lcl)
-pm – Methoden numerischen Namen voranstellen (Standard: _mth)
-pp – Methoden numerischen Namen voranstellen parms (Standard: _prm)
-pv – Felder packen mit dem gleichen Typ in einer Zeile (packfields)
-r – Wiederherstellen der Paketverzeichnisstruktur
-s – Ausgabedateierweiterung (Standard: .jad)
– Leerzeichen – Schlüsselwort (if, while usw.) und Ausgabe von Leerzeichen zwischen Ausdrücken
-stat – zeigt die Gesamtzahl der verarbeiteten Klassen/Methoden/Felder an
-t – verwendet Leerzeichen zum Einrücken (Standard: 4)
-t – verwendet stattdessen Tabulatoren. Verwenden Sie Leerzeichen zum Einrücken
-v – Methodennamen beim Dekompilieren anzeigen
Empfohlene verwandte Video-Tutorials: Java-Video-Tutorials
Das obige ist der detaillierte Inhalt vonSo dekompilieren Sie Klassendateien in Java-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Um JDBC -Transaktionen korrekt zu verarbeiten, müssen Sie zun?chst den automatischen Komiti -Modus ausschalten und dann mehrere Vorg?nge ausführen und schlie?lich entsprechend den Ergebnissen festlegen oder rollen. 1. Nennen Sie Conn.SetAutoCommit (False), um die Transaktion zu starten. 2. Führen Sie mehrere SQL -Operationen aus, z. B. einfügen und aktualisieren. 3. Rufen Sie Conn.Commit () an, wenn alle Vorg?nge erfolgreich sind, und rufen Sie Conn.Rollback () auf, wenn eine Ausnahme auftritt, um die Datenkonsistenz zu gew?hrleisten. Gleichzeitig sollten Try-with-Ressourcen verwendet werden, um Ressourcen zu verwalten, Ausnahmen ordnungsgem?? zu behandeln und Verbindungen zu schlie?en, um Verbindungsleckage zu vermeiden. Darüber hinaus wird empfohlen, Verbindungspools zu verwenden und Save -Punkte zu setzen, um teilweise Rollback zu erreichen und Transaktionen so kurz wie m?glich zu halten, um die Leistung zu verbessern.

Verwenden Sie Klassen im Java.Time -Paket, um das alte Datum und die Kalenderklassen zu ersetzen. 2. Erhalten Sie das aktuelle Datum und die aktuelle Uhrzeit durch LocalDate, LocalDatetime und Local Time; 3. Erstellen Sie ein bestimmtes Datum und eine bestimmte Uhrzeit mit der von () Methode; 4.. Verwenden Sie die Plus/Minus -Methode, um die Zeit nicht zu erh?hen und zu verkürzen. 5. Verwenden Sie ZonedDatetime und zoneId, um die Zeitzone zu verarbeiten. 6. Format und analysieren Sie Datumszeichenfolgen über DateTimeFormatter; 7. Verwenden Sie sofortige, um bei Bedarf mit den alten Datumstypen kompatibel zu sein. Die Verarbeitung der Datum in der modernen Java sollte der Verwendung von Java.Timeapi vorrangig machen, was klare, unver?nderliche und linear ist

Pre-Formancetartuptimemoryusage, QuarkusandmicronautleadduToCompile-Time-foringandgraalvSupport, WithQuarkusofttenperformLightBetterin serverloser Szenarien.2. Thyvelopecosystem,

HTTP-Protokoll Middleware in Go kann Anforderungsmethoden, Pfade, Client-IP und zeitaufw?ndiges Aufzeichnen aufzeichnen. 1. Verwenden Sie http.Handlerfunc, um den Prozessor zu wickeln, 2. Nehmen Sie die Startzeit und die Endzeit vor und nach dem Aufrufen als n?chstes auf. Der vollst?ndige Beispielcode wurde überprüft, um auszuführen und eignet sich zum Starten eines kleinen und mittelgro?en Projekts. Zu den Erweiterungsvorschl?gen geh?ren das Erfassen von Statuscodes, die Unterstützung von JSON -Protokollen und die Nachverfolgung von ID -IDs.

Die Müllsammlung von Java (GC) ist ein Mechanismus, der automatisch den Speicher verwaltet, der das Risiko eines Speicherlecks verringert, indem unerreichbare Objekte zurückgeführt werden. 1.GC beurteilt die Zug?nglichkeit des Objekts aus dem Stammobjekt (z. B. Stapelvariablen, aktive Threads, statische Felder usw.) und nicht erreichbare Objekte als Müll markiert. 2. Basierend auf dem markierten Algorithmus markieren Sie alle erreichbaren Objekte und l?schen Sie nicht markierte Objekte. 3.. Verfolgen Sie eine Generationskollektionsstrategie: Die neue Generation (Eden, S0, S1) führt h?ufig MollGC aus; Die ?lteren Menschen erzielen weniger, dauert jedoch l?nger, um MajorGC durchzuführen. MetaPace speichert Klassenmetadaten. 4. JVM bietet eine Vielzahl von GC -Ger?ten: SerialGC ist für kleine Anwendungen geeignet; ParallelgC verbessert den Durchsatz; CMS reduziert sich

Durch die Auswahl des richtigen HTMlinput -Typs kann die Datengenauigkeit verbessert, die Benutzererfahrung verbessert und die Benutzerfreundlichkeit verbessert werden. 1. W?hlen Sie die entsprechenden Eingabetypen gem?? dem Datentyp aus, z. B. Text, E -Mail, Tel, Nummer und Datum, die automatisch überprüft und an die Tastatur anpassen k?nnen. 2. Verwenden Sie HTML5, um neue Typen wie URL, Farbe, Reichweite und Suche hinzuzufügen, die eine intuitivere Interaktionsmethode bieten k?nnen. 3.. Verwenden Sie Platzhalter und erforderliche Attribute, um die Effizienz und Genauigkeit der Formulierung zu verbessern. Es sollte jedoch beachtet werden, dass der Platzhalter das Etikett nicht ersetzen kann.

GradleStheBetterChoiceFormostnewProjectsDuetoitSuperiorFlexibilit?t, Leistung und ModerntoolingSupport.1.GRADLE'SGROOVY/KOTLINDSLISMORECONCISEANDEIPRESSIVETHANMANMANBOSEXML.2.GRAGRECONCISEANDEPRPRESSIVETHANMAVENSVOSEXML.2.

Auf Defer wird verwendet, um bestimmte Vorg?nge auszuführen, bevor die Funktion zurückgibt, z. B. die Reinigungsressourcen. Die Parameter werden sofort bewertet, wenn sie aufgeschoben werden, und die Funktionen werden in der Reihenfolge von Last-In-First-Out (LIFO) ausgeführt. 1. Mehrere Defers werden in umgekehrter Reihenfolge der Erkl?rungen ausgeführt. 2. h?ufig für die sichere Reinigung wie das Schlie?en von Dateien verwendet; 3. Der benannte Rückgabewert kann ge?ndert werden; V. 5. Vermeiden Sie den Missbrauch von Verschiebungen in Schleifen, um Ressourcenleckage zu verhindern. Die korrekte Verwendung kann die Sicherheit und die Lesbarkeit der Code verbessern.
