parent
dab4879176
commit
d6dfc3ac0e
|
|
@ -85,7 +85,7 @@ extract "$ZIPFILE" 'service.sh' "$MODPATH"
|
||||||
extract "$ZIPFILE" 'uninstall.sh' "$MODPATH"
|
extract "$ZIPFILE" 'uninstall.sh' "$MODPATH"
|
||||||
extract "$ZIPFILE" 'framework/lspd.dex' "$MODPATH"
|
extract "$ZIPFILE" 'framework/lspd.dex' "$MODPATH"
|
||||||
extract "$ZIPFILE" 'daemon.apk' "$MODPATH"
|
extract "$ZIPFILE" 'daemon.apk' "$MODPATH"
|
||||||
extract "$ZIPFILE" 'lspd' "$MODPATH"
|
extract "$ZIPFILE" 'daemon' "$MODPATH"
|
||||||
rm -f /data/adb/lspd/manager.apk
|
rm -f /data/adb/lspd/manager.apk
|
||||||
extract "$ZIPFILE" 'manager.apk' '/data/adb/lspd'
|
extract "$ZIPFILE" 'manager.apk' '/data/adb/lspd'
|
||||||
|
|
||||||
|
|
@ -162,7 +162,7 @@ elif [ "$FLAVOR" == "riru" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
set_perm_recursive "$MODPATH" 0 0 0755 0644
|
set_perm_recursive "$MODPATH" 0 0 0755 0644
|
||||||
chmod 0744 "$MODPATH/lspd"
|
chmod 0744 "$MODPATH/daemon"
|
||||||
|
|
||||||
if [ "$(grep_prop ro.maple.enable)" == "1" ] && [ "$FLAVOR" == "zygisk" ]; then
|
if [ "$(grep_prop ro.maple.enable)" == "1" ] && [ "$FLAVOR" == "zygisk" ]; then
|
||||||
ui_print "- Add ro.maple.enable=0"
|
ui_print "- Add ro.maple.enable=0"
|
||||||
|
|
|
||||||
|
|
@ -24,5 +24,7 @@ if [ $debug = "true" ]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
mount tmpfs -t tmpfs /data/resource-cache
|
||||||
|
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
exec /system/bin/app_process $java_options /system/bin --nice-name=lspd org.lsposed.lspd.Main "$@" >/dev/null 2>&1
|
exec /system/bin/app_process $java_options /system/bin --nice-name=lspd org.lsposed.lspd.Main "$@" >/dev/null 2>&1
|
||||||
|
|
@ -20,4 +20,4 @@
|
||||||
MODDIR=${0%/*}
|
MODDIR=${0%/*}
|
||||||
|
|
||||||
rm -f "/data/local/tmp/daemon.apk"
|
rm -f "/data/local/tmp/daemon.apk"
|
||||||
unshare -m sh -c "$MODDIR/lspd &"
|
unshare -m sh -c "$MODDIR/daemon &"
|
||||||
|
|
|
||||||
|
|
@ -19,4 +19,4 @@
|
||||||
|
|
||||||
MODDIR=${0%/*}
|
MODDIR=${0%/*}
|
||||||
# post-fs-data.sh may be blocked by other modules. retry to start this
|
# post-fs-data.sh may be blocked by other modules. retry to start this
|
||||||
unshare -m "$MODDIR/lspd" --from-service "$@"&
|
unshare -m "$MODDIR/daemon" --from-service "$@"&
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 236b1b03b4c6f9465faba94a0bae7ed8c99c6e67
|
Subproject commit 9d202f44c90489ef4759328a3f55a56effdc9105
|
||||||
|
|
@ -194,10 +194,11 @@ namespace lspd {
|
||||||
kMid = JNI_GetMethodID(env, kInMemoryClassloader, "findClass",
|
kMid = JNI_GetMethodID(env, kInMemoryClassloader, "findClass",
|
||||||
"(Ljava/lang/String;)Ljava/lang/Class;");
|
"(Ljava/lang/String;)Ljava/lang/Class;");
|
||||||
}
|
}
|
||||||
auto target = JNI_CallObjectMethod(env, my_cl, kMid, env->NewStringUTF("LspHooker_"));
|
if (my_cl) {
|
||||||
// LOGD("Created %zd", image.size());
|
auto target = JNI_CallObjectMethod(env, my_cl, kMid, env->NewStringUTF("LspHooker_"));
|
||||||
if (target) {
|
if (target) {
|
||||||
return (jclass) target.release();
|
return (jclass) target.release();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -106,6 +106,7 @@ public class HookerDexMaker {
|
||||||
|
|
||||||
private void doMake(String methodName) throws Exception {
|
private void doMake(String methodName) throws Exception {
|
||||||
Class<?> hookClass = Yahfa.buildHooker(LspHooker.class.getClassLoader(), getDescriptor(mReturnType), getDescriptors(mActualParameterTypes), methodName);
|
Class<?> hookClass = Yahfa.buildHooker(LspHooker.class.getClassLoader(), getDescriptor(mReturnType), getDescriptors(mActualParameterTypes), methodName);
|
||||||
|
if (hookClass == null) throw new IllegalStateException("Failed to hook " + methodName);
|
||||||
// Execute our newly-generated code in-process.
|
// Execute our newly-generated code in-process.
|
||||||
Method backupMethod = hookClass.getMethod(METHOD_NAME_BACKUP, mActualParameterTypes);
|
Method backupMethod = hookClass.getMethod(METHOD_NAME_BACKUP, mActualParameterTypes);
|
||||||
mHooker = new LspHooker(mHookInfo, mMember, backupMethod);
|
mHooker = new LspHooker(mHookInfo, mMember, backupMethod);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue