Skip to content

Commit

Permalink
Move libsandhook.edxp.so to /data/misc to avoid magisk hide
Browse files Browse the repository at this point in the history
incompatibility
  • Loading branch information
LoveSy authored and kotori2 committed Dec 20, 2020
1 parent d92b051 commit a1f9bdc
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 26 deletions.
2 changes: 0 additions & 2 deletions edxp-core/src/main/cpp/main/include/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,11 @@ inline constexpr bool is64 = Is64();

static const auto kLibArtName = "libart.so"s;
static const auto kLibFwName = "libandroidfw.so"s;
static const auto kLibSandHookName = "libsandhook.edxp.so"s;

static const auto kLibBasePath =
LP_SELECT("/system/lib/"s,
"/system/lib64/"s);
static const auto kLibArtLegacyPath = kLibBasePath + kLibArtName;
static const auto kLibSandHookPath = kLibBasePath + kLibSandHookName;
static const auto kLibFwPath = kLibBasePath + kLibFwName;

inline constexpr const char *const BoolToString(bool b) {
Expand Down
13 changes: 9 additions & 4 deletions edxp-core/src/main/cpp/main/src/config_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,21 @@ namespace edxp {

inline const auto &GetInstallerPackageName() const { return installer_pkg_name_; }

inline const auto &GetLibSandHookName() const { return kLibSandHookName; }

inline const auto &GetDataPathPrefix() const { return data_path_prefix_; }

inline static const auto &GetMiscPath() {return misc_path_;}
inline static const auto &GetMiscPath() { return misc_path_; }

inline static auto GetFrameworkPath(const std::string &suffix = {}) {
return misc_path_ / "framework" / suffix;
}

inline static auto GetLibSandHookName() {
if constexpr(edxp::is64)
return GetFrameworkPath("lib64/libsandhook.edxp.so");
else
return GetFrameworkPath("lib/libsandhook.edxp.so");
}

inline auto GetXposedPropPath() const { return GetFrameworkPath(kXposedPropName); }

inline auto GetConfigPath(const std::string &suffix = {}) const {
Expand Down Expand Up @@ -98,7 +103,7 @@ namespace edxp {

static const auto &GetInjectDexPaths() { return inject_dex_paths_; };

bool IsInstaller(const std::string& pkg_name) const {
bool IsInstaller(const std::string &pkg_name) const {
return pkg_name == installer_pkg_name_ || pkg_name == kPrimaryInstallerPkgName;
}

Expand Down
2 changes: 1 addition & 1 deletion edxp-core/src/main/cpp/main/src/edxp_context.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ namespace edxp {

if (variant_ == SANDHOOK) {
//for SandHook variant
ScopedDlHandle sandhook_handle(kLibSandHookPath.c_str());
ScopedDlHandle sandhook_handle(ConfigManager::GetLibSandHookName().c_str());
if (!sandhook_handle.IsValid()) {
return;
}
Expand Down
28 changes: 9 additions & 19 deletions edxp-core/template_override/customize.sh
Original file line number Diff line number Diff line change
Expand Up @@ -213,30 +213,20 @@ ui_print "- ${LANG_CUST_INST_COPY_LIB}"

rm -rf "/data/misc/$MISC_PATH/framework"
mv "${MODPATH}/system/framework" "/data/misc/$MISC_PATH/framework"
set_perm_recursive /data/misc/$MISC_PATH/framework root root 0755 0644 "u:object_r:magisk_file:s0" || abortC "! ${LANG_CUST_ERR_PERM}"

mv "${MODPATH}/system/lib/libriru_edxp.so" "${MODPATH}/system/lib/${LIB_RIRU_EDXP}"
if [[ "${IS64BIT}" == true ]]; then
mv "${MODPATH}/system/lib64/libriru_edxp.so" "${MODPATH}/system/lib64/${LIB_RIRU_EDXP}"
fi

if [[ "${VARIANTS}" == "SandHook" ]]; then
mv "${MODPATH}/system/lib/libsandhook.edxp.so" "${MODPATH}/system/lib/${LIB_SANDHOOK_EDXP}"
if [[ "${IS64BIT}" == true ]]; then
mv "${MODPATH}/system/lib64/libsandhook.edxp.so" "${MODPATH}/system/lib64/${LIB_SANDHOOK_EDXP}"
fi
mkdir -p "/data/misc/$MISC_PATH/framework/lib"
mv "${MODPATH}/system/lib/libsandhook.edxp.so" "/data/misc/$MISC_PATH/framework/lib/libsandhook.edxp.so"
if [ "$IS64BIT" = true ]; then
mkdir -p "/data/misc/$MISC_PATH/framework/lib64"
mv "${MODPATH}/system/lib64/libsandhook.edxp.so" "/data/misc/$MISC_PATH/framework/lib64/libsandhook.edxp.so"
fi
fi
set_perm_recursive /data/misc/$MISC_PATH/framework root root 0755 0644 "u:object_r:magisk_file:s0" || abortC "! ${LANG_CUST_ERR_PERM}"

ui_print "- ${LANG_CUST_INST_RAND_LIB_1}"
ui_print " - ${LANG_CUST_INST_RAND_LIB_2}"
ui_print " - ${LANG_CUST_INST_RAND_LIB_3}"
sed -i 's:libriru_edxp.so:'"${LIB_RIRU_EDXP}"':g' "${MODPATH}/system/lib/${LIB_RIRU_EDXP}"
sed -i 's:libsandhook.edxp.so:'"${LIB_SANDHOOK_EDXP}"':g' "${MODPATH}/system/lib/${LIB_RIRU_EDXP}"

ui_print " - ${LANG_CUST_INST_RAND_LIB_4}"
mv "${MODPATH}/system/lib/libriru_edxp.so" "${MODPATH}/system/lib/${LIB_RIRU_EDXP}"
if [[ "${IS64BIT}" == true ]]; then
sed -i 's:libriru_edxp.so:'"${LIB_RIRU_EDXP}"':g' "${MODPATH}/system/lib64/${LIB_RIRU_EDXP}"
sed -i 's:libsandhook.edxp.so:'"${LIB_SANDHOOK_EDXP}"':g' "${MODPATH}/system/lib64/${LIB_RIRU_EDXP}"
mv "${MODPATH}/system/lib64/libriru_edxp.so" "${MODPATH}/system/lib64/${LIB_RIRU_EDXP}"
fi

ui_print "- ${LANG_CUST_INST_REM_OLDCONF}"
Expand Down

0 comments on commit a1f9bdc

Please sign in to comment.