feat:增加新的models逻辑
This commit is contained in:
parent
9aabaae722
commit
8708402605
@ -47,6 +47,8 @@ public class RealEntry implements IXposedHookLoadPackage {
|
|||||||
HashMap<String, SekiroRequestHandler> associate_handlers = ClassesReaderAssistant.reader(context, loadPackageParam.packageName);
|
HashMap<String, SekiroRequestHandler> associate_handlers = ClassesReaderAssistant.reader(context, loadPackageParam.packageName);
|
||||||
// step2:由注册类进行handler注册
|
// step2:由注册类进行handler注册
|
||||||
if (Register.GroupRegister(loadPackageParam, associate_handlers)) {
|
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));
|
Logger.logi(String.format("Real Hook Logic About:%s Success", loadPackageParam.packageName));
|
||||||
RegisterState = true;
|
RegisterState = true;
|
||||||
} else {
|
} else {
|
||||||
|
@ -21,6 +21,7 @@ import java.util.Map;
|
|||||||
* The type Kuaishou handler.
|
* The type Kuaishou handler.
|
||||||
*/
|
*/
|
||||||
public class KuaishouHandler extends BaseHandler implements SekiroRequestHandler {
|
public class KuaishouHandler extends BaseHandler implements SekiroRequestHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets belong.
|
* Gets belong.
|
||||||
*
|
*
|
||||||
@ -45,7 +46,7 @@ public class KuaishouHandler extends BaseHandler implements SekiroRequestHandler
|
|||||||
final Gson gson = new Gson();
|
final Gson gson = new Gson();
|
||||||
final Map<String, String> object = new HashMap<String, String>();
|
final Map<String, String> object = new HashMap<String, String>();
|
||||||
String name = sekiroRequest.getString("name");
|
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
|
// 测试三种请求返回方式 测试方案 1000/s 总请求 50*1000
|
||||||
// P1:阻塞返回
|
// P1:阻塞返回
|
||||||
// sekiroResponse.send(gson.toJson(object));
|
// sekiroResponse.send(gson.toJson(object));
|
||||||
|
@ -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());
|
||||||
|
}
|
||||||
|
}
|
@ -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());
|
||||||
|
}
|
||||||
|
}
|
@ -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.
|
* Reader list.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user