feat:增加新的models逻辑

This commit is contained in:
想要成为RapStar吗? 2020-09-21 14:47:40 +08:00
parent 9aabaae722
commit 8708402605
5 changed files with 93 additions and 1 deletions

View File

@ -47,6 +47,8 @@ public class RealEntry implements IXposedHookLoadPackage {
HashMap<String, SekiroRequestHandler> associate_handlers = ClassesReaderAssistant.reader(context, loadPackageParam.packageName);
// step2:由注册类进行handler注册
if (Register.GroupRegister(loadPackageParam, associate_handlers)) {
// 初始化对应handler的model
ClassesReaderAssistant.init(context, loadPackageParam.packageName, loadPackageParam.classLoader);
Logger.logi(String.format("Real Hook Logic About:%s Success", loadPackageParam.packageName));
RegisterState = true;
} else {

View File

@ -21,6 +21,7 @@ import java.util.Map;
* The type Kuaishou handler.
*/
public class KuaishouHandler extends BaseHandler implements SekiroRequestHandler {
/**
* Gets belong.
*
@ -45,7 +46,7 @@ public class KuaishouHandler extends BaseHandler implements SekiroRequestHandler
final Gson gson = new Gson();
final Map<String, String> object = new HashMap<String, String>();
String name = sekiroRequest.getString("name");
object.put("name", name + " again kuaishou no.3");
object.put("name", name + " again Kuaishou no.3");
// 测试三种请求返回方式 测试方案 1000/s 总请求 50*1000
// P1:阻塞返回
// sekiroResponse.send(gson.toJson(object));

View File

@ -0,0 +1,30 @@
package com.lateautumn4lin.headwolf.models;
/*
* Kuaishou
*
* @author lateautumn4lin
* @github https://github.com/lateautumn4lin
* @date 2020/9/21 14:07
*/
import com.lateautumn4lin.headwolf.commons.Logger;
/**
* The type Kuaishou.
*/
public class Kuaishou_v1 {
/**
* The constant classLoader.
*/
public static ClassLoader classLoader = null;
/**
* Init.
*
* @param classloader the classloader
*/
public static void init(ClassLoader classloader) {
classLoader = classloader;
Logger.logi(classloader.toString());
}
}

View File

@ -0,0 +1,30 @@
package com.lateautumn4lin.headwolf.models;
/*
* Kuaishou
*
* @author lateautumn4lin
* @github https://github.com/lateautumn4lin
* @date 2020/9/21 14:07
*/
import com.lateautumn4lin.headwolf.commons.Logger;
/**
* The type Kuaishou v 2.
*/
public class Kuaishou_v2 {
/**
* The constant classLoader.
*/
public static ClassLoader classLoader = null;
/**
* Init.
*
* @param classloader the classloader
*/
public static void init(ClassLoader classloader) {
classLoader = classloader;
Logger.logi(classloader.toString());
}
}

View File

@ -126,6 +126,35 @@ public final class ClassesReaderAssistant {
}
/**
* Init.
*
* @param context the context
* @param associateName the associate name
* @param classLoader the class loader
*/
public static void init(Context context, String associateName, ClassLoader classLoader) {
String packageName = String.format("%s.models", Config.GetPackageName());
final String group_name = Config.GetGroup(associateName);
final String feature_name = group_name.split("_")[1];
try {
Context moudleContext = context.createPackageContext(Config.GetPackageName(), Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY);
List<Class<?>> associate_classes = reader(packageName, moudleContext.getPackageCodePath());
for (Class<?> cls : associate_classes)
try {
Logger.logi(String.format("%s,get", cls.getName().toLowerCase()));
if (cls.getName().toLowerCase().contains(feature_name)) {
Method init = cls.getDeclaredMethod("init", ClassLoader.class);
init.invoke(null, classLoader);
}
} catch (Exception e) {
Logger.loge(e.toString());
}
} catch (Exception e) {
Logger.loge(e.toString());
}
}
/**
* Reader list.
*