Răsfoiți Sursa

bugfix => 修复使用class-winter混淆包对业务包混淆时,打入业务包的解密代码解密时ClassNotFoundException的异常

JustryDeng 1 an în urmă
părinte
comite
e33a6675db
23 a modificat fișierele cu 114 adăugiri și 0 ștergeri
  1. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_I.java
  2. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_II.java
  3. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_III.java
  4. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIII.java
  5. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIIIl.java
  6. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIlI.java
  7. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIlII.java
  8. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIll.java
  9. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIllI.java
  10. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIlll.java
  11. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_Il.java
  12. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IlI.java
  13. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IlIlI.java
  14. 6 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_l.java
  15. 30 0
      class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/executor/EncryptExecutor.java
  16. BIN
      class-winter-core/src/test/resources/class-winter-core-2.8.5.jar
  17. BIN
      class-winter-core/src/test/resources/class-winter-core-2.8.6.jar
  18. BIN
      class-winter-core/src/test/resources/class-winter-core-2.8.9.jar
  19. BIN
      class-winter-core/src/test/resources/class-winter-core-2.9.3.jar
  20. BIN
      class-winter-core/src/test/resources/class-winter-core-enhance-2.8.5.jar
  21. BIN
      class-winter-core/src/test/resources/class-winter-core-enhance-2.8.6.jar
  22. BIN
      class-winter-core/src/test/resources/class-winter-core-enhance-2.8.9.jar
  23. BIN
      class-winter-core/src/test/resources/class-winter-core-enhance-2.9.4.jar

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_I.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _I {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_II.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _II {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_III.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _III {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIII.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _IIII {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIIIl.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _IIIIl {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIlI.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _IIlI {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIlII.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _IIlII {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIll.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _IIll {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIllI.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _IIllI {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IIlll.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _IIlll {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_Il.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _Il {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IlI.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _IlI {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_IlIlI.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _IlIlI {
+
+}

+ 6 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/allatori/_l.java

@@ -0,0 +1,6 @@
+package winter.com.ideaaedi.classwinter.allatori;
+
+
+public class _l {
+
+}

+ 30 - 0
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/executor/EncryptExecutor.java

@@ -11,6 +11,20 @@ import org.dom4j.io.XMLWriter;
 import org.dom4j.tree.DefaultText;
 import org.xml.sax.SAXException;
 import winter.com.ideaaedi.classwinter.Reverses;
+import winter.com.ideaaedi.classwinter.allatori._I;
+import winter.com.ideaaedi.classwinter.allatori._II;
+import winter.com.ideaaedi.classwinter.allatori._III;
+import winter.com.ideaaedi.classwinter.allatori._IIII;
+import winter.com.ideaaedi.classwinter.allatori._IIIIl;
+import winter.com.ideaaedi.classwinter.allatori._IIlI;
+import winter.com.ideaaedi.classwinter.allatori._IIlII;
+import winter.com.ideaaedi.classwinter.allatori._IIll;
+import winter.com.ideaaedi.classwinter.allatori._IIllI;
+import winter.com.ideaaedi.classwinter.allatori._IIlll;
+import winter.com.ideaaedi.classwinter.allatori._Il;
+import winter.com.ideaaedi.classwinter.allatori._IlI;
+import winter.com.ideaaedi.classwinter.allatori._IlIlI;
+import winter.com.ideaaedi.classwinter.allatori._l;
 import winter.com.ideaaedi.classwinter.author.JustryDeng;
 import winter.com.ideaaedi.classwinter.exception.ClassWinterException;
 import winter.com.ideaaedi.classwinter.exception.JVMException;
@@ -92,6 +106,22 @@ public class EncryptExecutor {
         CLASS_WINTER_FILES.add(Reverses.class.getName().replace(".", "/").replace("Reverses", "Reverses$1") + Constant.CLASS_SUFFIX);
         CLASS_WINTER_FILES.add(JVMException.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
         CLASS_WINTER_FILES.add(JVMUtil.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        
+        // 辅助allatori混淆的类,降低allatori混淆时使用到非解密类(这个类不会被打进业务包)的可能性
+        CLASS_WINTER_FILES.add(_I.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_II.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_III.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_IIII.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_IIIIl.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_IIlI.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_IIlII.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_IIll.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_IIllI.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_IIlll.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_Il.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_IlI.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_IlIlI.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
+        CLASS_WINTER_FILES.add(_l.class.getName().replace(".", "/") + Constant.CLASS_SUFFIX);
     }
     
     /** 待加密的的jar/war包路径(如" /tmp/abc.jar) */

BIN
class-winter-core/src/test/resources/class-winter-core-2.8.5.jar


BIN
class-winter-core/src/test/resources/class-winter-core-2.8.6.jar


BIN
class-winter-core/src/test/resources/class-winter-core-2.8.9.jar


BIN
class-winter-core/src/test/resources/class-winter-core-2.9.3.jar


BIN
class-winter-core/src/test/resources/class-winter-core-enhance-2.8.5.jar


BIN
class-winter-core/src/test/resources/class-winter-core-enhance-2.8.6.jar


BIN
class-winter-core/src/test/resources/class-winter-core-enhance-2.8.9.jar


BIN
class-winter-core/src/test/resources/class-winter-core-enhance-2.9.3.jar → class-winter-core/src/test/resources/class-winter-core-enhance-2.9.4.jar