Merge branch 'main' into add/new-webui

Signed-off-by: Pedro.js <pedroolimpioguerra@gmail.com>
This commit is contained in:
Pedro.js
2025-05-18 12:25:46 -03:00
committed by GitHub
37 changed files with 1361 additions and 984 deletions

View File

@@ -115,49 +115,35 @@ androidComponents.onVariants { variant ->
}
}
fun getSign(name: String, abi32: String, abi64: String) {
fun getSign(name: String, abi: String, is64Bit: Boolean) {
val set = TreeSet<Pair<File, File?>> { o1, o2 ->
o1.first.path.replace("\\", "/")
.compareTo(o2.first.path.replace("\\", "/"))
}
val archSuffix = if (is64Bit) "64" else "32"
val pathSuffix = if (is64Bit) "lib64" else "lib"
set.add(Pair(root.file("module.prop").asFile, null))
set.add(Pair(root.file("sepolicy.rule").asFile, null))
set.add(Pair(root.file("post-fs-data.sh").asFile, null))
set.add(Pair(root.file("service.sh").asFile, null))
set.add(
Pair(
root.file("lib/libzygisk.so").asFile,
root.file("lib/$abi32/libzygisk.so").asFile
root.file("$pathSuffix/libzygisk.so").asFile,
root.file("lib/$abi/libzygisk.so").asFile
)
)
set.add(
Pair(
root.file("lib64/libzygisk.so").asFile,
root.file("lib/$abi64/libzygisk.so").asFile
root.file("bin/zygisk-ptrace$archSuffix").asFile,
root.file("lib/$abi/libzygisk_ptrace.so").asFile
)
)
set.add(
Pair(
root.file("bin/zygisk-ptrace32").asFile,
root.file("lib/$abi32/libzygisk_ptrace.so").asFile
)
)
set.add(
Pair(
root.file("bin/zygisk-ptrace64").asFile,
root.file("lib/$abi64/libzygisk_ptrace.so").asFile
)
)
set.add(
Pair(
root.file("bin/zygiskd32").asFile,
root.file("bin/$abi32/zygiskd").asFile
)
)
set.add(
Pair(
root.file("bin/zygiskd64").asFile,
root.file("bin/$abi64/zygiskd").asFile
root.file("bin/zygiskd$archSuffix").asFile,
root.file("bin/$abi/zygiskd").asFile
)
)
@@ -168,11 +154,18 @@ androidComponents.onVariants { variant ->
signFile.appendBytes(publicKey)
}
getSign("machikado.arm", "armeabi-v7a", "arm64-v8a")
getSign("machikado.x86", "x86", "x86_64")
getSign("machikado.arm64", "arm64-v8a", true)
getSign("machikado.arm", "armeabi-v7a", false)
getSign("machikado.x86_64", "x86_64", true)
getSign("machikado.x86", "x86", false)
} else {
println("no private_key found, this build will not be signed")
root.file("machikado.arm64").asFile.createNewFile()
root.file("machikado.arm").asFile.createNewFile()
root.file("machikado.x86_64").asFile.createNewFile()
root.file("machikado.x86").asFile.createNewFile()
}

View File

@@ -107,53 +107,90 @@ extract "$ZIPFILE" 'uninstall.sh' "$MODPATH"
mv "$TMPDIR/sepolicy.rule" "$MODPATH"
mkdir "$MODPATH/bin"
mkdir "$MODPATH/lib"
mkdir "$MODPATH/lib64"
mkdir "$MODPATH/webroot"
ui_print "- Extracting webroot"
unzip -o "$ZIPFILE" "webroot/*" -d "$MODPATH"
CPU_ABIS=$(getprop ro.product.cpu.abilist)
SUPPORTS_32BIT=false
SUPPORTS_64BIT=false
if [[ "$CPU_ABIS" == *"x86"* && "$CPU_ABIS" != "x86_64" || "$CPU_ABIS" == *"armeabi"* ]]; then
SUPPORTS_32BIT=true
ui_print "- Device supports 32-bit"
fi
if [[ "$CPU_ABIS" == *"x86_64"* || "$CPU_ABIS" == *"arm64-v8a"* ]]; then
SUPPORTS_64BIT=true
ui_print "- Device supports 64-bit"
fi
if [ "$SUPPORTS_32BIT" = true ]; then
mkdir "$MODPATH/lib"
fi
if [ "$SUPPORTS_64BIT" = true ]; then
mkdir "$MODPATH/lib64"
fi
if [ "$ARCH" = "x86" ] || [ "$ARCH" = "x64" ]; then
ui_print "- Extracting x86 libraries"
extract "$ZIPFILE" 'bin/x86/zygiskd' "$MODPATH/bin" true
mv "$MODPATH/bin/zygiskd" "$MODPATH/bin/zygiskd32"
extract "$ZIPFILE" 'lib/x86/libzygisk.so' "$MODPATH/lib" true
extract "$ZIPFILE" 'lib/x86/libzygisk_ptrace.so' "$MODPATH/bin" true
mv "$MODPATH/bin/libzygisk_ptrace.so" "$MODPATH/bin/zygisk-ptrace32"
if [ "$SUPPORTS_32BIT" = true ]; then
ui_print "- Extracting x86 libraries"
extract "$ZIPFILE" 'bin/x86/zygiskd' "$MODPATH/bin" true
mv "$MODPATH/bin/zygiskd" "$MODPATH/bin/zygiskd32"
extract "$ZIPFILE" 'lib/x86/libzygisk.so' "$MODPATH/lib" true
extract "$ZIPFILE" 'lib/x86/libzygisk_ptrace.so' "$MODPATH/bin" true
mv "$MODPATH/bin/libzygisk_ptrace.so" "$MODPATH/bin/zygisk-ptrace32"
ui_print "- Extracting x64 libraries"
extract "$ZIPFILE" 'bin/x86_64/zygiskd' "$MODPATH/bin" true
mv "$MODPATH/bin/zygiskd" "$MODPATH/bin/zygiskd64"
extract "$ZIPFILE" 'lib/x86_64/libzygisk.so' "$MODPATH/lib64" true
extract "$ZIPFILE" 'lib/x86_64/libzygisk_ptrace.so' "$MODPATH/bin" true
mv "$MODPATH/bin/libzygisk_ptrace.so" "$MODPATH/bin/zygisk-ptrace64"
extract "$ZIPFILE" 'machikado.x86' "$MODPATH" true
fi
extract "$ZIPFILE" 'machikado.x86' "$MODPATH" true
mv "$MODPATH/machikado.x86" "$MODPATH/machikado"
if [ "$SUPPORTS_64BIT" = true ]; then
ui_print "- Extracting x64 libraries"
extract "$ZIPFILE" 'bin/x86_64/zygiskd' "$MODPATH/bin" true
mv "$MODPATH/bin/zygiskd" "$MODPATH/bin/zygiskd64"
extract "$ZIPFILE" 'lib/x86_64/libzygisk.so' "$MODPATH/lib64" true
extract "$ZIPFILE" 'lib/x86_64/libzygisk_ptrace.so' "$MODPATH/bin" true
mv "$MODPATH/bin/libzygisk_ptrace.so" "$MODPATH/bin/zygisk-ptrace64"
extract "$ZIPFILE" 'machikado.x86_64' "$MODPATH" true
fi
else
ui_print "- Extracting arm libraries"
extract "$ZIPFILE" 'bin/armeabi-v7a/zygiskd' "$MODPATH/bin" true
mv "$MODPATH/bin/zygiskd" "$MODPATH/bin/zygiskd32"
extract "$ZIPFILE" 'lib/armeabi-v7a/libzygisk.so' "$MODPATH/lib" true
extract "$ZIPFILE" 'lib/armeabi-v7a/libzygisk_ptrace.so' "$MODPATH/bin" true
mv "$MODPATH/bin/libzygisk_ptrace.so" "$MODPATH/bin/zygisk-ptrace32"
if [ "$SUPPORTS_32BIT" = true ]; then
ui_print "- Extracting arm libraries"
extract "$ZIPFILE" 'bin/armeabi-v7a/zygiskd' "$MODPATH/bin" true
mv "$MODPATH/bin/zygiskd" "$MODPATH/bin/zygiskd32"
extract "$ZIPFILE" 'lib/armeabi-v7a/libzygisk.so' "$MODPATH/lib" true
extract "$ZIPFILE" 'lib/armeabi-v7a/libzygisk_ptrace.so' "$MODPATH/bin" true
mv "$MODPATH/bin/libzygisk_ptrace.so" "$MODPATH/bin/zygisk-ptrace32"
ui_print "- Extracting arm64 libraries"
extract "$ZIPFILE" 'bin/arm64-v8a/zygiskd' "$MODPATH/bin" true
mv "$MODPATH/bin/zygiskd" "$MODPATH/bin/zygiskd64"
extract "$ZIPFILE" 'lib/arm64-v8a/libzygisk.so' "$MODPATH/lib64" true
extract "$ZIPFILE" 'lib/arm64-v8a/libzygisk_ptrace.so' "$MODPATH/bin" true
mv "$MODPATH/bin/libzygisk_ptrace.so" "$MODPATH/bin/zygisk-ptrace64"
extract "$ZIPFILE" 'machikado.arm' "$MODPATH" true
fi
extract "$ZIPFILE" 'machikado.arm' "$MODPATH" true
mv "$MODPATH/machikado.arm" "$MODPATH/machikado"
if [ "$SUPPORTS_64BIT" = true ]; then
ui_print "- Extracting arm64 libraries"
extract "$ZIPFILE" 'bin/arm64-v8a/zygiskd' "$MODPATH/bin" true
mv "$MODPATH/bin/zygiskd" "$MODPATH/bin/zygiskd64"
extract "$ZIPFILE" 'lib/arm64-v8a/libzygisk.so' "$MODPATH/lib64" true
extract "$ZIPFILE" 'lib/arm64-v8a/libzygisk_ptrace.so' "$MODPATH/bin" true
mv "$MODPATH/bin/libzygisk_ptrace.so" "$MODPATH/bin/zygisk-ptrace64"
extract "$ZIPFILE" 'machikado.arm64' "$MODPATH" true
fi
fi
ui_print "- Setting permissions"
set_perm_recursive "$MODPATH/bin" 0 0 0755 0755
set_perm_recursive "$MODPATH/lib" 0 0 0755 0644 u:object_r:system_lib_file:s0
set_perm_recursive "$MODPATH/lib64" 0 0 0755 0644 u:object_r:system_lib_file:s0
if [ "$SUPPORTS_32BIT" = true ]; then
set_perm_recursive "$MODPATH/lib" 0 0 0755 0644 u:object_r:system_lib_file:s0
fi
if [ "$SUPPORTS_64BIT" = true ]; then
set_perm_recursive "$MODPATH/lib64" 0 0 0755 0644 u:object_r:system_lib_file:s0
fi
# If Huawei's Maple is enabled, system_server is created with a special way which is out of Zygisk's control
HUAWEI_MAPLE_ENABLED=$(grep_prop ro.maple.enable)

View File

@@ -46,5 +46,12 @@ if [ -f $MODDIR/lib/libzygisk.so ];then
chcon u:object_r:system_file:s0 $TMP_PATH/lib/libzygisk.so
fi
[ "$DEBUG" = true ] && export RUST_BACKTRACE=1
./bin/zygisk-ptrace64 monitor &
CPU_ABIS=$(getprop ro.product.cpu.abilist)
if [[ "$CPU_ABIS" == *"arm64-v8a"* || "$CPU_ABIS" == *"x86_64"* ]]; then
./bin/zygisk-ptrace64 monitor &
else
# INFO: Device is 32-bit only
./bin/zygisk-ptrace32 monitor &
fi

View File

@@ -10,6 +10,7 @@ allow zygote su {lnk_file file} read
allow zygote adb_data_file dir search
allow zygote adb_data_file file *
allow zygote proc file {read open}
allow zygote zygote process execmem
allow system_server system_server process execmem
allow zygote tmpfs file *