This commit improves the code for multiple files by making "read_string" function already make the string NULL-terminated, avoiding code duplication. Also for "companion.c" fixes an "if" where it would read "client_fd" and check if "fd" is equal to "-1", instead of "client_fd", also does some overall code improvements there like detaching the thread, avoiding memory leaks in the exit, of the thread itself.
This commit fixes an issue where one of the "malloc", a libc function to allocate dynamic memory, "if"s were checking its return against non-NULL instead of NULL, making it seem to have failed when it didn't.
Reading the file `/proc/self/maps` is detectable by the target process.
Hence, we should cache scanned virtual maps after `libart.so` is loaded for later plt hooks in the target process.
Note that it is impossible to hide injecting trace of virtual memory maps from the hooked target process.
ReZygisk will only focus on removing its trace for approcess that are not hooked by modules.
1. fix typo vsdo -> vdso and allow this symbol to be not found, which is the case for the 32bit linkers on some devices
2. use soinfo_free to fully remove the soinfo record of libzygisk.so
3. set `soinfo.size = 0` to avoid the library being unmapped while removing its soinfo record
4. add more debug logs for troubleshooting
Relying on dlclose to unload libzygisk.so will block us to clean its trace in the solist.
This commit allows us to unmap libzygisk.so without using dlclose.
To call munmap, we use the function pthread_attr_setstacksize instead of pthread_attr_destroy, so that tail-call can still be applied here since it has the same signature as munmap.
This commit merges the pull request by JingMatrix that includes improvements for clangd users, fixes for devices which have llvm suffix in SoList related symbols, and improved hiding related to the SoList.
In Bionic linker, the `soinfo` structure has a field `next`, which points to the next loaded library in a linked list consisting of all loaded libraries.
Hence, an injected process can easily find all loaded libraries.
Previously in ReZygisk, module library records are hidden by setting the `pathname` field to be empty, which is futile but easier to detect.
Current idea of dropping record can be found in the following commit:
https://github.com/RikkaApps/Riru/commit/5d635e8c66a018b5086f28e083b18b0d0656022b
On Android 15+ in some devices, the symbol names of some static variables such as `solist`, has a `llvm` suffix in its exported name.
Current commit handles this case and close#63 as fixed.
To make `clangd` work properly, one needs to make symbolic links
```
ln -sf $PWD/loader/build/tools/debug/arm64-v8a/compile_commands.json loader/build
```
This commit fixes russian language name translation, which previously said, in russian, "English (USA)".
Signed-off-by: Kirill Kuznetsov <kdevlab@yandex.ru>
This commit fixes 2 issues:
- service.sh of files were not being executed in parallel, a behavior described in: https://github.com/topjohnwu/Magisk/blob/master/docs/guides.md#boot-scripts . This was fixed by using "&" in the end of the command to execute the module's service.sh, telling the shell to not block.
- Gradle wrapper used in ReZygisk was old, causing failing CIs.
It also updates the NDK version to ensure we'll be operating smoothly.
This commit will add support for indonesian language in webui, following commits:
* Add Indonesian language for WebUI
* Sort TRANSLATOR.md contributor alphabetically
This commit fixes the issue where "free" would be executed in a pointer which has garbage data, leading to crashes. This was fixed by setting to NULL, so that it's clean.
It also fixes the issue where Zygiskd messages for "DAEMON_SET_INFO" would not count the NULL-terminator, causing crashes.
This commit fixes the detection made by ReZygisk WebUI that makes it be aware of whether the device's CPU is capable of 64-bit or 32-bit only, allowing it to properly mark as Fully functioning or just partially.
This commit fixes the issue where the Web UI doesn't load by properly implementing the saving of the status of ReZygisk so that it can be displayed easily, which wasn't properly implemented before.
This commit updates Romanian translations to translate untranslated phrases and fix some grammatically incorrect phrases.
Signed-off-by: Igor <sorocean.igor@gmail.com>
This commit adds the credit for Blazzycrafter, the contributor whom added German translations for ReZygisk WebUI.
Signed-off-by: Blazzycrafter <39300111+Blazzycrafter@users.noreply.github.com>