CrackingHelper is a versatile tool for analyzing, debugging, and cracking other plugins, supporting Bukkit, BungeeCord, and Velocity platforms. It provides powerful class loader analysis, network monitoring, class decompilation, and more, making it an ideal tool for plugin developers and server administrators.
English | 简体中文
- List all loaded class loaders
- View all classes loaded by a specific class loader
- Analyze detailed class information, including fields, methods, annotations, etc.
- Decompile specified classes to view source code
- Dump classes to .class files
- Dynamically load and execute Java code
- Block specific methods from being invoked
- Monitor plugin network connections
- Capture network response content
- Identify plugins initiating network requests
- Track method invocations
- Record detailed method invocation information, including caller and parameters
- Print current thread stack trace
- Real-time method execution monitoring
/crackinghelper - Main command, all functions are accessed through its subcommands
Track specified method calls
/crackinghelper trackclass <method name>
Example: /crackinghelper trackclass org.bukkit.Bukkit#broadcastMessage
Dump classes to .class files
/crackinghelper dump <class loader hashcode> <package name or *>
Example: /crackinghelper dump abc123 *
List all classes loaded by a specified class loader
/crackinghelper listclasses <class loader hashcode>
Dynamically load and execute Java code
/crackinghelper loadclass <parent class loader hashcode> <class name> <file name> [args...]
Display complete class information
/crackinghelper analysisclass <class loader hashcode> <class name>
Print current stack trace
/crackinghelper printstacktrace
List all loaded class loaders
/crackinghelper listclassloaders
Decompile specified class
/crackinghelper decompile <class loader hashcode> <class name>
Prevent specified method from being invoked
/crackinghelper blockmethod <method name>
Example: /crackinghelper blockmethod org.bukkit.Bukkit#broadcastMessage
To ensure all functions of CrackingHelper work properly, the following JVM parameters need to be added when starting the server:
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
--add-opens=java.base/jdk.internal.reflect=ALL-UNNAMED
--add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED
--add-opens=java.base/sun.net.www.protocol.https=ALL-UNNAMED
These parameters are used to open access to Java internal packages, enabling CrackingHelper to perform class operations and network monitoring.
The plugin will automatically generate a configuration file to control network tracking functionality:
# Enable network tracking
enabled = true
# Detect network responses
detect-response = true- Plugin Developer Debugging - Analyze other plugins' behavior, debug your own plugins
- Server Security Audit - Monitor plugin network activities, detect potential security risks
- Reverse Engineering - Decompile and analyze how plugins work
- Educational Research - Learn about Java class loading mechanisms and bytecode manipulation
- This tool is powerful, please use it only in legally authorized environments
- Some functions may affect server performance, recommended for use in test environments
- Please pay attention to privacy protection when using network monitoring functions
- The dynamic code loading function has security risks, please use it with caution
- Bukkit/Spigot/Paper (1.8.8+)
- BungeeCord/Waterfall
- Velocity
CrackingHelper is a powerful tool for plugin development and server management that can help you gain deep insights into how plugins work internally and perform effective debugging and analysis.