diff --git a/webroot/js/main.js b/webroot/js/main.js
index fd5881a..ae7667c 100644
--- a/webroot/js/main.js
+++ b/webroot/js/main.js
@@ -1,16 +1,12 @@
-import { exec, toast, fullScreen } from './kernelsu.js';
+import { fullScreen, exec, toast } from './kernelsu.js';
(async () => {
fullScreen(true)
- const rootCss = document.querySelector(':root');
+
+ const rootCss = document.querySelector(':root')
const rezygisk_state = document.getElementById('rezygisk_state')
- const rezygisk_settings = document.getElementById("rezygisk_settings")
+ const rezygisk_settings = document.getElementById('rezygisk_settings')
const rezygisk_icon_state = document.getElementById('rezygisk_icon_state')
- /* TODO: Implement rezygisk state */
- rezygisk_settings.removeAttribute("style")
- rootCss.style.setProperty('--bright', '#3a4857');
- rezygisk_state.innerHTML = 'ReZygisk is functioning!'
- rezygisk_icon_state.innerHTML = ''
const code_version = document.getElementById('version_code')
const root_impl = document.getElementById('root_impl')
@@ -18,10 +14,10 @@ import { exec, toast, fullScreen } from './kernelsu.js';
const is_zygote32_injected = document.getElementById('is_zygote32_injected')
const is_zygote64_injected = document.getElementById('is_zygote64_injected')
- const { errno, stdout, stderr } = await exec('/data/adb/modules/zygisksu/bin/zygisk-ptrace64 info')
+ const ptrace64Cmd = await exec('/data/adb/modules/zygisksu/bin/zygisk-ptrace64 info')
- if (errno === 0) {
- const lines = stdout.split('\n')
+ if (ptrace64Cmd.errno === 0) {
+ const lines = ptrace64Cmd.stdout.split('\n')
code_version.innerHTML = lines[0].split('Tracer ')[1].split('-')[0]
@@ -29,26 +25,45 @@ import { exec, toast, fullScreen } from './kernelsu.js';
is_zygote64_injected.innerHTML = lines[5].split(': ')[1] === 'yes' ? 'Injected' : 'Not Injected'
} else {
- toast(`Failed to get zygisk-ptrace64 info: ${stderr}`)
+ toast(`zygisk-ptrace64 error (${ptrace64Cmd.errno}): ${ptrace64Cmd.stderr}`)
}
- const { errno: errno32, stdout: stdout32, stderr: stderr32 } = await exec('/data/adb/modules/zygisksu/bin/zygisk-ptrace32 info')
+ const ptrace32Cmd = await exec('/data/adb/modules/zygisksu/bin/zygisk-ptrace32 info')
- if (errno32 === 0) {
- const lines32 = stdout32.split('\n')
+ if (ptrace32Cmd.errno === 0) {
+ const lines32 = ptrace32Cmd.stdout.split('\n')
is_zygote32_injected.innerHTML = lines32[5].split(': ')[1] === 'yes' ? 'Injected' : 'Not Injected'
} else {
- toast(`Failed to get zygisk-ptrace32 info: ${stderr32}`)
- }
+ toast(`zygisk-ptrace32 error (${ptrace32Cmd.errno}): ${ptrace32Cmd.stderr}`)
+ }
+
+ if (is_zygote32_injected.innerHTML === 'Not Injected' && is_zygote64_injected.innerHTML === 'Not injected') {
+ rezygisk_state.innerHTML = 'ReZygisk is not functioning!'
+ } else if (is_zygote32_injected.innerHTML === 'Injected' && is_zygote64_injected.innerHTML === 'Injected') {
+ rezygisk_state.innerHTML = 'ReZygisk is fully functioning!'
+
+ rezygisk_settings.removeAttribute('style')
+ rootCss.style.setProperty('--bright', '#3a4857');
+ rezygisk_icon_state.innerHTML = '
'
+ } else {
+ rezygisk_state.innerHTML = 'ReZygisk is partially functioning!'
+
+ rezygisk_settings.removeAttribute('style')
+ rootCss.style.setProperty('--bright', '#ffd000');
+ rezygisk_icon_state.innerHTML = '
'
+ }
const modules_list = document.getElementById('modules_list')
- const { errno: errnoModules, stdout: stdoutModules, stderr: stderrModules } = await exec('find /data/adb/modules -type d -name zygisk -exec dirname {} \\;')
+ const findModulesCmd = await exec('find /data/adb/modules -type d -name zygisk -exec dirname {} \\;')
- if (errnoModules === 0) {
- modules_list.removeAttribute("style")
- const modules = stdoutModules.split('\n')
+ if (findModulesCmd.errno === 0) {
+ const modules = findModulesCmd.stdout.split('\n')
+
+ if (modules.length === 0) return;
+
+ modules_list.removeAttribute('style')
modules_list.innerHTML +=
`