mirror of
https://github.com/MoonLeeeaf/FuckMaoNemo.git
synced 2025-06-06 11:23:33 +08:00
@@ -4,62 +4,17 @@
|
|||||||
"file": "/storage/emulated/0/MoonLeaf/Projects/FuckMaoNemo/app/src/main/java/io/github/moonleeeaf/fuckmaonemo/Hook.java",
|
"file": "/storage/emulated/0/MoonLeaf/Projects/FuckMaoNemo/app/src/main/java/io/github/moonleeeaf/fuckmaonemo/Hook.java",
|
||||||
"selection": {
|
"selection": {
|
||||||
"end": {
|
"end": {
|
||||||
"column": 101,
|
"column": 34,
|
||||||
"index": 9409,
|
"index": 10304,
|
||||||
"line": 222
|
"line": 244
|
||||||
},
|
},
|
||||||
"start": {
|
"start": {
|
||||||
"column": 101,
|
"column": 34,
|
||||||
"index": 9409,
|
"index": 10304,
|
||||||
"line": 222
|
"line": 244
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"file": "/storage/emulated/0/MoonLeaf/Projects/FuckMaoNemo/app/build.gradle",
|
|
||||||
"selection": {
|
|
||||||
"end": {
|
|
||||||
"column": 22,
|
|
||||||
"index": 272,
|
|
||||||
"line": 14
|
|
||||||
},
|
|
||||||
"start": {
|
|
||||||
"column": 22,
|
|
||||||
"index": 272,
|
|
||||||
"line": 14
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"file": "/storage/emulated/0/MoonLeaf/Projects/FuckMaoNemo/app/src/main/java/io/github/moonleeeaf/fuckmaonemo/ConfigActivity.java",
|
|
||||||
"selection": {
|
|
||||||
"end": {
|
|
||||||
"column": 8,
|
|
||||||
"index": 2261,
|
|
||||||
"line": 57
|
|
||||||
},
|
|
||||||
"start": {
|
|
||||||
"column": 8,
|
|
||||||
"index": 2261,
|
|
||||||
"line": 57
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"file": "/storage/emulated/0/MoonLeaf/Projects/FuckMaoNemo/app/src/main/res/xml/config.xml",
|
|
||||||
"selection": {
|
|
||||||
"end": {
|
|
||||||
"column": 48,
|
|
||||||
"index": 2950,
|
|
||||||
"line": 86
|
|
||||||
},
|
|
||||||
"start": {
|
|
||||||
"column": 25,
|
|
||||||
"index": 2927,
|
|
||||||
"line": 86
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"selectedFile": "/storage/emulated/0/MoonLeaf/Projects/FuckMaoNemo/app/src/main/java/io/github/moonleeeaf/fuckmaonemo/ConfigActivity.java"
|
"selectedFile": "/storage/emulated/0/MoonLeaf/Projects/FuckMaoNemo/app/src/main/java/io/github/moonleeeaf/fuckmaonemo/Hook.java"
|
||||||
}
|
}
|
||||||
@@ -236,16 +236,33 @@ public class Hook implements IXposedHookLoadPackage {
|
|||||||
XposedBridge.hookMethod(
|
XposedBridge.hookMethod(
|
||||||
getMethod(
|
getMethod(
|
||||||
XposedHelpers.findClass("com.codemao.nemo.bean.LatestWorks", classLoader),
|
XposedHelpers.findClass("com.codemao.nemo.bean.LatestWorks", classLoader),
|
||||||
"getItems",
|
"getLimit",
|
||||||
null
|
null //List.class
|
||||||
),
|
),
|
||||||
new XC_MethodReplacement() {
|
new XC_MethodReplacement() {
|
||||||
@Override
|
@Override
|
||||||
protected Object replaceHookedMethod(MethodHookParam mp) throws Throwable {
|
protected Object replaceHookedMethod(MethodHookParam mp) throws Throwable {
|
||||||
List ls = (List) XposedHelpers.getObjectField(mp.thisObject, "items");
|
return 100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
XposedBridge.hookMethod(
|
||||||
|
getMethod(
|
||||||
|
XposedHelpers.findClass("com.codemao.nemo.bean.LatestWorks", classLoader),
|
||||||
|
"getItems",
|
||||||
|
null //List.class
|
||||||
|
),
|
||||||
|
new XC_MethodReplacement() {
|
||||||
|
@Override
|
||||||
|
protected Object replaceHookedMethod(MethodHookParam mp) throws Throwable {
|
||||||
|
List ls = (List) XposedHelpers.getObjectField(mp.thisObject, "items"); // mp.args[0]; //
|
||||||
|
|
||||||
ArrayList al = new ArrayList();
|
ArrayList al = new ArrayList();
|
||||||
|
|
||||||
|
int passed = 0;
|
||||||
|
|
||||||
for (Object o : ls) {
|
for (Object o : ls) {
|
||||||
String workName = (String) XposedHelpers.getObjectField(o, "work_name");
|
String workName = (String) XposedHelpers.getObjectField(o, "work_name");
|
||||||
String userId = "" + XposedHelpers.getLongField(o, "user_id");
|
String userId = "" + XposedHelpers.getLongField(o, "user_id");
|
||||||
@@ -255,6 +272,7 @@ public class Hook implements IXposedHookLoadPackage {
|
|||||||
for (NewestWorksFilter filter : filters) {
|
for (NewestWorksFilter filter : filters) {
|
||||||
if (filter.matches(userId, workName)) {
|
if (filter.matches(userId, workName)) {
|
||||||
disadd = true;
|
disadd = true;
|
||||||
|
passed++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -268,7 +286,18 @@ public class Hook implements IXposedHookLoadPackage {
|
|||||||
al.add(o);
|
al.add(o);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// XposedHelpers.setObjectField(mp.thisObject, "items", al);
|
||||||
|
|
||||||
|
int offset = XposedHelpers.getIntField(mp.thisObject, "offset");
|
||||||
|
XposedHelpers.setIntField(mp.thisObject, "offset", offset + passed);
|
||||||
|
|
||||||
|
int total = XposedHelpers.getIntField(mp.thisObject, "total");
|
||||||
|
// XposedHelpers.setIntField(mp.thisObject, "total", total - passed);
|
||||||
|
|
||||||
|
XposedBridge.log("[FuckMaoNemo] 过滤完毕 原数据: offset=" + offset + " total=" + total);
|
||||||
|
|
||||||
return al;
|
return al;
|
||||||
|
// return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user