aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2023-10-23 15:23:21 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2023-10-23 15:23:21 +0200
commiteed3fd2bb654ba698dbea90c7f5cb15f17f5cc5b (patch)
tree922973e2b6120ed2662b992bef60eaca54925d82
parentAdd license and readme (diff)
downloadwireguard-vnet-hdr-zygisk-master.tar.xz
wireguard-vnet-hdr-zygisk-master.zip
Unload module in appsHEADmaster
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--jni/tunflags.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/jni/tunflags.cpp b/jni/tunflags.cpp
index 31cc238..7e755f5 100644
--- a/jni/tunflags.cpp
+++ b/jni/tunflags.cpp
@@ -16,9 +16,7 @@
#include <android/log.h>
#include "zygisk.hpp"
-
-using zygisk::Api;
-using zygisk::ServerSpecializeArgs;
+using namespace zygisk;
static const char *package_whitelist[] = {
"com.wireguard.android",
@@ -133,7 +131,7 @@ out:
return orig_register_natives(env, clazz, methods, num_methods);
}
-class TunFlags : public zygisk::ModuleBase
+class TunFlags : public ModuleBase
{
public:
void onLoad(Api *api, JNIEnv *env) override
@@ -142,6 +140,12 @@ public:
this->env = env;
}
+ void postAppSpecialize(const AppSpecializeArgs *args) override
+ {
+ /* Only needed in system_server, so close in apps. */
+ api->setOption(DLCLOSE_MODULE_LIBRARY);
+ }
+
void postServerSpecialize(const ServerSpecializeArgs *args) override
{
orig_register_natives = env->functions->RegisterNatives;