[core] Don't hardcode injected AID in native code (#1152)
* Update build.gradle.kts * Update Android.mk * Update main.cpp
This commit is contained in:
parent
bf89c754dc
commit
2b4bdf1bbd
|
|
@ -43,6 +43,9 @@ val moduleMinRiruApiVersion = 25
|
||||||
val moduleMinRiruVersionName = "25.0.1"
|
val moduleMinRiruVersionName = "25.0.1"
|
||||||
val moduleMaxRiruApiVersion = 25
|
val moduleMaxRiruApiVersion = 25
|
||||||
|
|
||||||
|
val injectedPackageName = "com.android.shell"
|
||||||
|
val injectedPackageUid = 2000
|
||||||
|
|
||||||
val defaultManagerPackageName: String by rootProject.extra
|
val defaultManagerPackageName: String by rootProject.extra
|
||||||
val apiCode: Int by rootProject.extra
|
val apiCode: Int by rootProject.extra
|
||||||
|
|
||||||
|
|
@ -97,6 +100,7 @@ android {
|
||||||
ndkBuild {
|
ndkBuild {
|
||||||
arguments += "RIRU_MODULE_API_VERSION=$moduleMaxRiruApiVersion"
|
arguments += "RIRU_MODULE_API_VERSION=$moduleMaxRiruApiVersion"
|
||||||
arguments += "MODULE_NAME=$riruModuleId"
|
arguments += "MODULE_NAME=$riruModuleId"
|
||||||
|
arguments += "INJECTED_AID=$injectedPackageUid"
|
||||||
arguments += "-j${Runtime.getRuntime().availableProcessors()}"
|
arguments += "-j${Runtime.getRuntime().availableProcessors()}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -107,8 +111,8 @@ android {
|
||||||
"DEFAULT_MANAGER_PACKAGE_NAME",
|
"DEFAULT_MANAGER_PACKAGE_NAME",
|
||||||
""""$defaultManagerPackageName""""
|
""""$defaultManagerPackageName""""
|
||||||
)
|
)
|
||||||
buildConfigField("String", "MANAGER_INJECTED_PKG_NAME", """"com.android.shell"""")
|
buildConfigField("String", "MANAGER_INJECTED_PKG_NAME", """"$injectedPackageName"""")
|
||||||
buildConfigField("int", "MANAGER_INJECTED_UID", """2000""")
|
buildConfigField("int", "MANAGER_INJECTED_UID", """$injectedPackageUid""")
|
||||||
}
|
}
|
||||||
|
|
||||||
lint {
|
lint {
|
||||||
|
|
|
||||||
|
|
@ -11,5 +11,6 @@ LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
|
||||||
LOCAL_STATIC_LIBRARIES := cxx yahfa riru dobby dex_builder
|
LOCAL_STATIC_LIBRARIES := cxx yahfa riru dobby dex_builder
|
||||||
LOCAL_CFLAGS := -DRIRU_MODULE -DRIRU_MODULE_API_VERSION=${RIRU_MODULE_API_VERSION}
|
LOCAL_CFLAGS := -DRIRU_MODULE -DRIRU_MODULE_API_VERSION=${RIRU_MODULE_API_VERSION}
|
||||||
LOCAL_CFLAGS += -DMODULE_NAME=${MODULE_NAME}
|
LOCAL_CFLAGS += -DMODULE_NAME=${MODULE_NAME}
|
||||||
|
LOCAL_CFLAGS += -DINJECTED_AID=${INJECTED_AID}
|
||||||
LOCAL_LDLIBS := -llog
|
LOCAL_LDLIBS := -llog
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
namespace lspd {
|
namespace lspd {
|
||||||
int *allowUnload = nullptr;
|
int *allowUnload = nullptr;
|
||||||
|
|
||||||
static constexpr uid_t kAidShell = 2000;
|
static constexpr uid_t kAidInjected = INJECTED_AID;
|
||||||
static constexpr uid_t kAidInet = 3003;
|
static constexpr uid_t kAidInet = 3003;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
@ -59,7 +59,7 @@ namespace lspd {
|
||||||
jobjectArray *,
|
jobjectArray *,
|
||||||
jboolean *,
|
jboolean *,
|
||||||
jboolean *) {
|
jboolean *) {
|
||||||
if (*_uid == kAidShell) {
|
if (*_uid == kAidInjected) {
|
||||||
int array_size = *gids ? env->GetArrayLength(*gids) : 0;
|
int array_size = *gids ? env->GetArrayLength(*gids) : 0;
|
||||||
auto region = std::make_unique<jint[]>(array_size + 1);
|
auto region = std::make_unique<jint[]>(array_size + 1);
|
||||||
auto *new_gids = env->NewIntArray(array_size + 1);
|
auto *new_gids = env->NewIntArray(array_size + 1);
|
||||||
|
|
@ -102,7 +102,7 @@ namespace lspd {
|
||||||
jobjectArray *,
|
jobjectArray *,
|
||||||
jboolean *,
|
jboolean *,
|
||||||
jboolean *) {
|
jboolean *) {
|
||||||
if (*_uid == kAidShell) {
|
if (*_uid == kAidInjected) {
|
||||||
int array_size = *gids ? env->GetArrayLength(*gids) : 0;
|
int array_size = *gids ? env->GetArrayLength(*gids) : 0;
|
||||||
auto region = std::make_unique<jint[]>(array_size + 1);
|
auto region = std::make_unique<jint[]>(array_size + 1);
|
||||||
auto *new_gids = env->NewIntArray(array_size + 1);
|
auto *new_gids = env->NewIntArray(array_size + 1);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue