From 58748259b96c37723880b08741ac47914982ee1d Mon Sep 17 00:00:00 2001 From: LoveSy Date: Sat, 30 Jan 2021 17:35:19 +0800 Subject: [PATCH] [core] Remove useless code --- core/src/main/cpp/main/src/config_manager.cpp | 25 +------------------ .../lspd/hooker/XposedInstallerHooker.java | 17 +++++++------ 2 files changed, 11 insertions(+), 31 deletions(-) diff --git a/core/src/main/cpp/main/src/config_manager.cpp b/core/src/main/cpp/main/src/config_manager.cpp index 441ce416..9b2101c7 100644 --- a/core/src/main/cpp/main/src/config_manager.cpp +++ b/core/src/main/cpp/main/src/config_manager.cpp @@ -31,9 +31,6 @@ * module list and modules scopes are preloaded * can get app module list by call a const function * for installer's pkg name, it's retrieved by /data/misc/$misc_path/$uid/conf/installer. - * if not exists, fallback - * blacklist and whitelist are instead set by blacklist.conf and whitelist.conf respectively - * dynamic mode is always on * * Permission: * /data/adb/lspd should be accessible by zygote by sepolicy @@ -107,20 +104,6 @@ namespace lspd { return {std::istream_iterator(ifs), std::istream_iterator()}; } - std::unordered_set ConfigManager::GetAppList(const fs::path &dir) { - std::unordered_set set; - try { - for (auto &item: fs::directory_iterator(dir)) { - if (item.is_regular_file()) { - set.emplace(item.path().filename()); - } - } - } catch (const fs::filesystem_error &e) { - LOGE("%s", e.what()); - } - return set; - } - std::string ConfigManager::GetPackageNameFromBaseApkPath(const fs::path &path) { std::vector paths(path.begin(), path.end()); if (paths.empty()) return {}; @@ -229,16 +212,10 @@ namespace lspd { fs::file_time_type ConfigManager::GetLastWriteTime() const { auto config_path = GetConfigPath(); auto list_path = GetConfigPath("modules.list"); - auto blacklist_path = GetConfigPath("blacklist"); - auto whitelist_path = GetConfigPath("whitelist"); return std::max({path_exists(config_path) ? fs::last_write_time(config_path) : fs::file_time_type{}, path_exists(list_path) ? fs::last_write_time(list_path) - : fs::file_time_type{}, - path_exists(blacklist_path) ? fs::last_write_time(blacklist_path) - : fs::file_time_type{}, - path_exists(whitelist_path) ? fs::last_write_time(whitelist_path) - : fs::file_time_type{}}); + : fs::file_time_type{},}); } bool ConfigManager::InitConfigPath() const { diff --git a/core/src/main/java/io/github/lsposed/lspd/hooker/XposedInstallerHooker.java b/core/src/main/java/io/github/lsposed/lspd/hooker/XposedInstallerHooker.java index dbad86b3..d03f44b8 100644 --- a/core/src/main/java/io/github/lsposed/lspd/hooker/XposedInstallerHooker.java +++ b/core/src/main/java/io/github/lsposed/lspd/hooker/XposedInstallerHooker.java @@ -27,45 +27,48 @@ public class XposedInstallerHooker { } final String variant = variant_; + Utils.logI("Found LSPosed Manager, hooking it"); + // LSPosed Manager R try { - XposedHelpers.findAndHookMethod("io.github.lsposed.manager.Constants", classLoader, "getXposedApiVersion", new XC_MethodReplacement() { + Class ConstantsClass = XposedHelpers.findClass("io.github.lsposed.manager.Constants", classLoader); + XposedHelpers.findAndHookMethod(ConstantsClass, "getXposedApiVersion", new XC_MethodReplacement() { @Override protected Object replaceHookedMethod(MethodHookParam param) { return XposedBridge.getXposedVersion(); } }); - XposedHelpers.findAndHookMethod("io.github.lsposed.manager.Constants", classLoader, "getXposedVersion", new XC_MethodReplacement() { + XposedHelpers.findAndHookMethod(ConstantsClass, "getXposedVersion", new XC_MethodReplacement() { @Override protected Object replaceHookedMethod(MethodHookParam param) { return BuildConfig.VERSION_NAME; } }); - XposedHelpers.findAndHookMethod("io.github.lsposed.manager.Constants", classLoader, "getXposedVersionCode", new XC_MethodReplacement() { + XposedHelpers.findAndHookMethod(ConstantsClass, "getXposedVersionCode", new XC_MethodReplacement() { @Override protected Object replaceHookedMethod(MethodHookParam param) { return BuildConfig.VERSION_CODE; } }); - XposedHelpers.findAndHookMethod("io.github.lsposed.manager.Constants", classLoader, "getXposedApiVersion", new XC_MethodReplacement() { + XposedHelpers.findAndHookMethod(ConstantsClass, "getXposedApiVersion", new XC_MethodReplacement() { @Override protected Object replaceHookedMethod(MethodHookParam param) { return XposedBridge.getXposedVersion(); } }); - XposedHelpers.findAndHookMethod("io.github.lsposed.manager.Constants", classLoader, "getXposedVariant", new XC_MethodReplacement() { + XposedHelpers.findAndHookMethod(ConstantsClass, "getXposedVariant", new XC_MethodReplacement() { @Override protected Object replaceHookedMethod(MethodHookParam param) { return variant; } }); - XposedHelpers.findAndHookMethod("io.github.lsposed.manager.Constants", classLoader, "getBaseDir", new XC_MethodReplacement() { + XposedHelpers.findAndHookMethod(ConstantsClass, "getBaseDir", new XC_MethodReplacement() { @Override protected Object replaceHookedMethod(MethodHookParam param) { return ConfigManager.getBaseConfigPath() + "/"; } }); - Utils.logD("Hooked LSPosed Manager"); + Utils.logI("Hooked LSPosed Manager"); } catch (Throwable t) { Utils.logW("Could not hook LSPosed Manager", t); }