6 Repos
Tools used to inspect and analyze the internal structure of compiled Java class files.
Distinct from Java Bytecode Viewers: None of the candidates cover the identity of a tool that both modifies and analyzes bytecode via abstractions.
Explore 6 awesome GitHub repositories matching development tools & productivity · Java Bytecode Analysis Tools. Refine with filters or upvote what's useful.
Recaf ist eine Suite spezialisierter Tools zum Assemblieren, Bearbeiten, Deobfuskieren, Dekompilieren und Instrumentieren von Java-Bytecode und Laufzeitprozessen. Es bietet eine koordinierte Umgebung zum Modifizieren kompilierter Java-Klassendateien und zum Analysieren des Verhaltens von Java-Anwendungen. Das Projekt zeichnet sich durch eine mehrstufige Abstraktionsschicht aus, die das Bearbeiten über verschiedene Formate hinweg ermöglicht, sowie durch ein steckbares Framework, das Bytecode durch mehrere konfigurierbare Dekompilierungs-Engines leitet. Es enthält eine eingebettete Skript-Engine und eine Plugin-Architektur, um repetitive Aufgaben zu automatisieren und das Systemverhalten zu erweitern. Das Toolset deckt mehrere hochrangige Funktionsbereiche ab, einschließlich statischer Analyse für die Suche nach Anwendungsinhalten und der Simulation von Methodenausführungszuständen. Es unterstützt zudem Laufzeitinstrumentierung für das Anhängen an Live-Prozesse und automatisierte Bytecode-Transformation zum Entfernen von Obfuskation und Reparieren von Klassendateien. Headless-Ausführung wird über ein Command-Line-Interface unterstützt, um Workflows in externe Build-Pipelines zu integrieren.
A specialized tool for modifying and analyzing compiled Java class files across multiple abstraction levels.
Luyten ist ein Open-Source-Java-Decompiler und Bytecode-Analyzer, der darauf ausgelegt ist, kompilierte Klassendateien zurück in hochsprachigen Quellcode zu transformieren. Er fungiert als grafische Benutzeroberfläche für die Procyon-Decompilation-Engine und ermöglicht die Inspektion und Wiederherstellung von Programmlogik aus Java-Bytecode. Das Tool bietet Funktionen für Java-Reverse-Engineering und Legacy-Code-Analyse, was die Untersuchung von Anwendungen oder Bibliotheken von Drittanbietern ermöglicht, wenn der ursprüngliche Quellcode nicht verfügbar ist. Das System enthält ein Desktop-Interface zum Durchsuchen von Klassenhierarchien, rekursives Classpath-Scanning zur Indexierung von JAR-Dateien sowie eine zustandsbehaftete Navigationshistorie, um besuchte Klassen zu verfolgen.
Integrates the Procyon engine to translate compiled Java bytecode into high-level source code structures for analysis.
This project is a comprehensive Java programming knowledge base and technical reference repository. It provides a curated collection of distilled answers, API documentation, and troubleshooting guides designed to help developers resolve common coding challenges and language pitfalls. The repository distinguishes itself through a structured architectural approach to knowledge, utilizing comparison-centric analysis to highlight trade-offs between different library implementations and language features. It aggregates high-impact community discussions into a standardized format, organizing techni
Explains how to translate compiled bytecode back into human-readable source code to inspect binary files.
Dieses Projekt ist ein instruktives Repository und eine Lernressource, die eine umfassende Sammlung von Studiennotizen, Programmierleitfäden und ausführbaren Codebeispielen bietet. Es dient als Leitfaden für Java SE- und Java-Webentwicklung und enthält eine Bibliothek mit Code-Samples, die gängige Algorithmen und technische Implementierungen demonstrieren. Das Repository konzentriert sich auf die Analyse des Sprachkerns und der Laufzeitumgebung, mit detaillierten Tutorials zu Multithreading und Concurrency. Es bietet praktische Implementierungen von Softwarearchitekturen und Entwurfsmustern, wie etwa Singleton- oder Strategie-Pattern, sowie Einblicke in die Java Virtual Machine und Bytecode. Das Projekt deckt ein breites Spektrum an Fähigkeiten ab, darunter Sprachgrundlagen wie Generics und Annotations, Grundlagen der Webentwicklung wie HTTP-Request-Handling und Session-Management sowie Concurrency-Primitive für Thread-Lebenszyklen und Ressourcen-Synchronisation. Zudem sind Hilfsprogramme für Sicherheit, Datenverarbeitung und dynamische Seitengenerierung enthalten.
Explores the inner workings of the JVM and bytecode using reflection and dynamic proxy generation.
Bistoury ist ein Produktionsdiagnosetool für Java-Anwendungen, das eine verteilte Debugging-Konsole, einen Performance-Profiler und einen Runtime-Bytecode-Manipulator bereitstellt. Es ermöglicht Echtzeit-Anwendungs-Debugging und Produktionsdiagnose durch die Analyse laufender Java-Anwendungen mittels dynamischer Instrumentierung und Zustandsinspektion. Das System zeichnet sich durch einen Remote-Agent-Manager aus, der Diagnoseverbindungen koordiniert, sowie einen Runtime-Bytecode-Manipulator, der in der Lage ist, Klassen im Speicher neu zu definieren, ohne Prozessneustarts zu erfordern. Es bietet eine Weboberfläche zum Erfassen von Heap-Dumps, Thread-Stacks und lokalen Variablen über mehrere Serverinstanzen hinweg, unterstützt durch eine Proxy-vermittelte Kommunikationsschicht zum Routen von Befehlen an Remote-Ziele. Das Projekt deckt ein breites Spektrum an Observability-Funktionen ab, einschließlich CPU-Performance-Profiling mittels asynchronem Stack-Sampling und Flame-Graphs, verteilter Log-Verwaltung über mehrere Maschinen hinweg und nicht-blockierender Zustandserfassung mittels bedingter Breakpoints. Es enthält zudem Dienstprogramme zur Quellwiederherstellung, die Runtime-Bytecode mit dem ursprünglichen Quellcode durch Dekompilierung oder Integration mit Git- und Maven-Repositories verknüpfen. Das Tool bietet eine Webkonsole und Befehlszeilenschnittstellen für die Verwaltung von Logs, das Abrufen von Systemdateien und die Inspektion von Systemkonfiguration und Umgebungsvariablen.
Collects operational data, system properties, and machine metrics to analyze the overall health of the JVM.
SpotBugs ist ein statisches Analysetool und Bytecode-Analyzer für Java-Anwendungen. Es scannt kompilierte Klassendateien, um Bugs, Sicherheitslücken und Leistungsprobleme zu identifizieren, ohne den Code auszuführen. Das System fungiert sowohl als Bug-Detektor als auch als Tool für statische Anwendungssicherheitstests (SAST), um logische Fehler und API-Missbrauch aufzuspüren. Das Projekt zeichnet sich durch eine Plugin-basierte Detektor-Architektur aus, die die Integration externer Bibliotheken zur Hinzufügung benutzerdefinierter Erkennungsregeln ermöglicht. Es bietet spezialisierte Sicherheitsaudits für Schwachstellen wie SQL-Injection, Cross-Site Scripting und Path Traversal sowie ein modulares System zur Verfeinerung der Analysepräzision und Reduzierung von False Positives. Das Tool deckt ein breites Spektrum an Erkennungsbereichen ab, einschließlich Synchronisationsfehlern bei Nebenläufigkeit, Null-Pointer-Dereferenzierungen, Ressourcenlecks und Typumwandlungsfehlern. Es identifiziert zudem toten Code, Leistungsineffizienzen und Verstöße gegen Serialisierungs-Idiome. Diese Funktionen sind über eine Kommandozeilenschnittstelle, eine grafische Benutzeroberfläche und die direkte Integration in IDEs zugänglich. SpotBugs kann in Build-Pipelines integriert werden, um Qualitäts-Gates durchzusetzen und Analyseberichte in HTML- oder XML-Formaten zu generieren.
Scans compiled Java class files to identify bug patterns without executing the application code.