diff --git a/lsplt/src/main/jni/lsplt.cc b/lsplt/src/main/jni/lsplt.cc index 9a1b3ec..83fede5 100644 --- a/lsplt/src/main/jni/lsplt.cc +++ b/lsplt/src/main/jni/lsplt.cc @@ -164,9 +164,11 @@ public: info.hooks.clear(); continue; } + mprotect(reinterpret_cast(info.start), len, PROT_WRITE); for (auto &[addr, backup] : info.hooks) { *reinterpret_cast(addr) = backup; } + mprotect(reinterpret_cast(info.start), len, info.perm); info.hooks.clear(); info.backup = 0; }