feat: handle vbmeta related prop

- enforce boot hash to lowercase
This commit is contained in:
KOWX712
2025-03-06 14:13:09 +08:00
parent 293f9e1266
commit 355c0444c7
4 changed files with 23 additions and 19 deletions
-6
View File
@@ -1,6 +0,0 @@
# This file is to pass Minotaur native test 'Partition Check Fail'
# Download Key Attestation (chiteroman fork recommended)
# Link: https://github.com/chiteroman/KeyAttestation/releases
# Get your VerifiedBootHash value from Key Attestation app
# Ask here if you don't know how to do: https://t.me/kowchannelchat
# Paste verifiedBootHash value on next line and save
+4 -5
View File
@@ -32,11 +32,10 @@ find_config() {
} }
migrate_config() { migrate_config() {
# Migrate boot_hash # remove empty file
if [ ! -f "/data/adb/boot_hash" ]; then if [ -f "/data/adb/boot_hash" ]; then
mv "$COMPATH/boot_hash" "/data/adb/boot_hash" hash_value=$(grep -v '^#' "/data/adb/boot_hash" | tr -d '[:space:]' | tr '[:upper:]' '[:lower:]')
else [ -z "$hash_value" ] && rm -f /data/adb/boot_hash || echo "$hash_value" > /data/adb/boot_hash
rm -f "$COMPATH/boot_hash"
fi fi
# Migrate security_patch config* # Migrate security_patch config*
+13 -5
View File
@@ -22,17 +22,25 @@ add_denylist_to_target() {
done done
} }
resetprop_if_empty() {
CURRENT=$(getprop "$1")
[ -z "$CURRENT" ] && resetprop -n "$1" "$2"
}
# Spoof security patch # Spoof security patch
if [ -f "/data/adb/tricky_store/security_patch_auto_config" ]; then if [ -f "/data/adb/tricky_store/security_patch_auto_config" ]; then
sh "$MODPATH/common/get_extra.sh" --security-patch sh "$MODPATH/common/get_extra.sh" --security-patch
fi fi
# Reset verified Boot Hash # Reset vbmeta related prop
hash_value=$(grep -v '^#' "/data/adb/boot_hash" | tr -d '[:space:]') if [ -f "/data/adb/boot_hash" ]; then
if [ -n "$hash_value" ]; then hash_value=$(grep -v '^#' "/data/adb/boot_hash" | tr -d '[:space:]' | tr '[:upper:]' '[:lower:]')
resetprop -n ro.boot.vbmeta.digest "$hash_value" [ -z "$hash_value" ] && rm -f /data/adb/boot_hash || resetprop -n ro.boot.vbmeta.digest "$hash_value"
fi fi
resetprop_if_empty ro.boot.vbmeta.invalidate_on_error yes
resetprop_if_empty ro.boot.vbmeta.avb_version 1.0
resetprop_if_empty ro.boot.vbmeta.hash_alg sha256
resetprop_if_empty ro.boot.vbmeta.size 10496
# Disable TSupport-A auto update target to prevent overwrite # Disable TSupport-A auto update target to prevent overwrite
if [ -d "$TSPA" ]; then if [ -d "$TSPA" ]; then
+6 -3
View File
@@ -4,9 +4,9 @@ const bootHashOverlay = document.getElementById('boot-hash-overlay');
const inputBox = document.getElementById('boot-hash-input'); const inputBox = document.getElementById('boot-hash-input');
const saveButton = document.getElementById('boot-hash-save-button'); const saveButton = document.getElementById('boot-hash-save-button');
// Remove empty spaces from input // Remove empty spaces from input and convert to lowercase
window.trimInput = (input) => { window.trimInput = (input) => {
input.value = input.value.replace(/\s+/g, ''); input.value = input.value.replace(/\s+/g, '').toLowerCase();
}; };
// Function to handle Verified Boot Hash // Function to handle Verified Boot Hash
@@ -38,10 +38,13 @@ document.getElementById("boot-hash").addEventListener("click", async () => {
saveButton.addEventListener("click", async () => { saveButton.addEventListener("click", async () => {
const inputValue = inputBox.value.trim(); const inputValue = inputBox.value.trim();
try { try {
await execCommand(`echo "${inputValue}" > /data/adb/boot_hash`);
await execCommand(` await execCommand(`
PATH=/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk:$PATH PATH=/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk:$PATH
resetprop -n ro.boot.vbmeta.digest ${inputValue} resetprop -n ro.boot.vbmeta.digest ${inputValue}
[ -z "${inputValue}" ] && rm -f /data/adb/boot_hash || {
echo "${inputValue}" > /data/adb/boot_hash
chmod 644 /data/adb/boot_hash
}
`); `);
showPrompt("prompt.boot_hash_set"); showPrompt("prompt.boot_hash_set");
closeBootHashMenu(); closeBootHashMenu();