- Статус
- Оффлайн
- Регистрация
- 2 Мар 2025
- Сообщения
- 142
- Реакции
- 2
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Java:
package das.ist.akim;
import java.lang.reflect.Method;
public class Main {
public static void invoke(Object instance, String owner, String name, String[] types, Object... values) throws Exception {
owner = owner.replaceAll("/", ".");
Class<?>[] t = new Class[types.length];
for (int i = 0; i < types.length; i++) {
types[i] = types[i].replaceAll("/", ".");
try {
t[i] = ClassLoader.getSystemClassLoader().loadClass(types[i]);
} catch (ClassNotFoundException e) {
t[i] = getType(types[i]);
}
}
Method method = ClassLoader.getSystemClassLoader().loadClass(owner).getMethod(name, t);
method.invoke(instance, values);
}
public static Class<?> getType(String type) {
switch (type) {
case "boolean": return boolean.class;
case "byte": return byte.class;
case "char": return char.class;
case "short": return short.class;
case "int": return int.class;
case "float": return float.class;
case "double": return double.class;
default: return null;
}
}
public void nonStaticBoolean(boolean booleanValue) {System.out.println("nonStaticBoolean(), value: " + booleanValue);}
public void nonStaticByte(byte byteValue) {System.out.println("nonStaticByte(), value: " + byteValue);}
public void nonStaticChar(char charValue) {System.out.println("nonStaticChar(), value: " + charValue);}
public void nonStaticShort(short shortValue) {System.out.println("nonStaticShort(), value: " + shortValue);}
public void nonStaticInt(int intValue) {System.out.println("nonStaticInt(), value: " + intValue);}
public void nonStaticFloat(float floatValue) {System.out.println("nonStaticFloat(), value: " + floatValue);}
public void nonStaticDouble(double doubleValue) {System.out.println("nonStaticDouble(), value: " + doubleValue);}
public void nonStaticNoArgs() {System.out.println("nonStaticNoArgs()");}
public void nonStaticString(String stringValue) {System.out.println(stringValue);}
public static void staticBoolean(boolean booleanValue) {System.out.println("staticBoolean(), value: " + booleanValue);}
public static void staticByte(byte byteValue) {System.out.println("staticByte(), value: " + byteValue);}
public static void staticChar(char charValue) {System.out.println("staticChar(), value: " + charValue);}
public static void staticShort(short shortValue) {System.out.println("staticShort(), value: " + shortValue);}
public static void staticInt(int intValue) {System.out.println("staticInt(), value: " + intValue);}
public static void staticFloat(float floatValue) {System.out.println("staticFloat(), value: " + floatValue);}
public static void staticDouble(double doubleValue) {System.out.println("staticDouble(), value: " + doubleValue);}
public static void staticNoArgs() {System.out.println("staticNoArgs()");}
public static void staticString(String stringValue) {System.out.println("staticString(), value: " + stringValue);}
public static void main(String[] args) throws Exception {
System.out.println("\nNon static ->\n");
invoke(new Main(), "das/ist/akim/Main", "nonStaticBoolean", new String[]{"boolean"}, true);
invoke(new Main(), "das/ist/akim/Main", "nonStaticByte", new String[]{"byte"}, (byte)0xCA);
invoke(new Main(), "das/ist/akim/Main", "nonStaticChar", new String[]{"char"}, 'a');
invoke(new Main(), "das/ist/akim/Main", "nonStaticShort", new String[]{"short"}, (short)5);
invoke(new Main(), "das/ist/akim/Main", "nonStaticInt", new String[]{"int"}, 10);
invoke(new Main(), "das/ist/akim/Main", "nonStaticFloat", new String[]{"float"}, (float)15.54);
invoke(new Main(), "das/ist/akim/Main", "nonStaticDouble", new String[]{"double"}, 20.24);
invoke(new Main(), "das/ist/akim/Main", "nonStaticNoArgs", new String[]{});
invoke(new Main(), "das/ist/akim/Main", "nonStaticString", new String[]{"java/lang/String"}, "Hello from nonStaticString");
System.out.println("\nStatic ->\n");
invoke(null, "das/ist/akim/Main", "staticBoolean", new String[]{"boolean"}, false);
invoke(null, "das/ist/akim/Main", "staticByte", new String[]{"byte"}, (byte)0xFE);
invoke(null, "das/ist/akim/Main", "staticChar", new String[]{"char"}, 'Z');
invoke(null, "das/ist/akim/Main", "staticShort", new String[]{"short"}, (short)100);
invoke(null, "das/ist/akim/Main", "staticInt", new String[]{"int"}, 500);
invoke(null, "das/ist/akim/Main", "staticFloat", new String[]{"float"}, (float)3.14);
invoke(null, "das/ist/akim/Main", "staticDouble", new String[]{"double"}, 2.71);
invoke(null, "das/ist/akim/Main", "staticNoArgs", new String[]{});
invoke(null, "das/ist/akim/Main", "staticString", new String[]{"java/lang/String"}, "Hello from staticString");
System.out.println("\n");
}
}
Тем, чей iq > 50 этот код будет впринципе понятен.
Может кому-то такая тема пригодится для личных целей.
Аргументы сделаны в виде строк, для возможности их дальнейшего крипта idk
Пойду что-ли пельменей наебну