diff --git a/loader/src/ptracer/monitor.cpp b/loader/src/ptracer/monitor.cpp index 78da21e..90aaab9 100644 --- a/loader/src/ptracer/monitor.cpp +++ b/loader/src/ptracer/monitor.cpp @@ -243,7 +243,7 @@ static bool ensure_daemon_created(bool is_64bit) { } else if (pid == 0) { std::string daemon_name = "./bin/zygisk-cp"; daemon_name += is_64bit ? "64" : "32"; - execl(daemon_name.c_str(), basename(daemon_name.c_str()), nullptr); + execl(daemon_name.c_str(), daemon_name.c_str(), nullptr); PLOGE("exec daemon %s failed", daemon_name.c_str()); exit(1); } else { diff --git a/zygiskd/src/zygiskd.rs b/zygiskd/src/zygiskd.rs index 11ee31b..22454ba 100644 --- a/zygiskd/src/zygiskd.rs +++ b/zygiskd/src/zygiskd.rs @@ -156,6 +156,7 @@ fn create_daemon_socket() -> Result { fn spawn_companion(name: &str, lib_fd: RawFd) -> Result> { let (mut daemon, companion) = UnixStream::pair()?; + // FIXME: avoid getting self path from arg0 let process = std::env::args().next().unwrap(); let nice_name = process.split('/').last().unwrap();