feat: hook ClassLoader, Class, RuntimeMXBean, System, PluginManagerCore

This commit is contained in:
2025-06-23 10:26:07 +08:00
parent 3388fad6fc
commit 6da7112443
17 changed files with 493 additions and 38 deletions

View File

@@ -0,0 +1,35 @@
package com.novitechie.rules;
import com.janetfilter.core.commons.DebugInfo;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Pattern;
public class StackTraceRule {
private static final Pattern PACKAGE_NAME_PATTERN = Pattern.compile("\\A\\p{ASCII}*\\z");
public static boolean check() {
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
for (StackTraceElement stackTraceElement : stackTrace) {
if (!PACKAGE_NAME_PATTERN.matcher(stackTraceElement.getMethodName()).matches()) {
return true;
}
}
return false;
}
public static Date hook() {
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
for (StackTraceElement stackTraceElement : stackTrace) {
if (!PACKAGE_NAME_PATTERN.matcher(stackTraceElement.getMethodName()).matches()) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, 60);
DebugInfo.output("===========================getLicenseExpirationDate");
return calendar.getTime();
}
}
return null;
}
}