-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathprop.sh
More file actions
95 lines (78 loc) · 2.98 KB
/
prop.sh
File metadata and controls
95 lines (78 loc) · 2.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/bin/sh
RP="${RP_BIN:-resetprop}"
check_reset_prop() {
local NAME=$1
local EXPECTED=$2
local VALUE=$($RP $NAME)
[ -z $VALUE ] || [ $VALUE = $EXPECTED ] || $RP -n $NAME $EXPECTED
}
contains_reset_prop() {
local NAME=$1
local CONTAINS=$2
local NEWVAL=$3
[[ "$($RP $NAME)" = *"$CONTAINS"* ]] && $RP -n $NAME $NEWVAL
}
empty_reset_prop() {
local NAME=$1
local NEWVAL=$2
local VALUE=$(getprop "$NAME")
[ -z "$VALUE" ] && $RP -n $NAME $NEWVAL
}
$RP -w sys.boot_completed 0
if [ -f "/data/adb/disable_prop_handler" ]; then
exit 0
fi
if [ ! -f "/data/adb/disable_vbmeta_digest_spoof" ] && [ -f "/data/adb/boot_hash" ]; then
hash_value=$(grep -v '^#' "/data/adb/boot_hash" | tr -d '[:space:]' | tr '[:upper:]' '[:lower:]')
[ -z "$hash_value" ] && rm -f /data/adb/boot_hash || $RP -n ro.boot.vbmeta.digest "$hash_value"
fi
check_reset_prop "ro.boot.vbmeta.device_state" "locked"
check_reset_prop "ro.boot.verifiedbootstate" "green"
check_reset_prop "ro.boot.flash.locked" "1"
check_reset_prop "ro.boot.veritymode" "enforcing"
check_reset_prop "ro.boot.warranty_bit" "0"
check_reset_prop "ro.warranty_bit" "0"
check_reset_prop "ro.debuggable" "0"
check_reset_prop "ro.force.debuggable" "0"
check_reset_prop "ro.secure" "1"
check_reset_prop "ro.adb.secure" "1"
check_reset_prop "ro.build.type" "user"
check_reset_prop "ro.build.tags" "release-keys"
check_reset_prop "ro.vendor.boot.warranty_bit" "0"
check_reset_prop "ro.vendor.warranty_bit" "0"
check_reset_prop "vendor.boot.vbmeta.device_state" "locked"
check_reset_prop "vendor.boot.verifiedbootstate" "green"
check_reset_prop "sys.oem_unlock_allowed" "0"
# MIUI specific
check_reset_prop "ro.secureboot.lockstate" "locked"
# Realme specific
check_reset_prop "ro.boot.realmebootstate" "green"
check_reset_prop "ro.boot.realme.lockstate" "1"
# Hide that we booted from recovery when magisk is in recovery mode
contains_reset_prop "ro.bootmode" "recovery" "unknown"
contains_reset_prop "ro.boot.bootmode" "recovery" "unknown"
contains_reset_prop "vendor.boot.bootmode" "recovery" "unknown"
# Custom ROM (LineageOS) identity scrub: only fires when LOS-only signatures are present
v=$($RP ro.product.vendor.name)
case "$v" in
lineage_*) $RP -n ro.product.vendor.name "${v#lineage_}" ;;
esac
v=$($RP vendor.camera.aux.packagelist)
case "$v" in
*org.lineageos*) $RP -n vendor.camera.aux.packagelist "com.android.camera" ;;
esac
v=$($RP persist.vendor.camera.privapp.list)
case "$v" in
*org.lineageos*) $RP -n persist.vendor.camera.privapp.list "com.android.camera" ;;
esac
[ -n "$($RP init.svc.vendor.lineage_health)" ] && {
setprop ctl.stop vendor.lineage_health
$RP -d init.svc.vendor.lineage_health
}
# Reset vbmeta related prop
empty_reset_prop "ro.boot.vbmeta.device_state" "locked"
empty_reset_prop "ro.boot.vbmeta.invalidate_on_error" "yes"
empty_reset_prop "ro.boot.vbmeta.avb_version" "1.0"
empty_reset_prop "ro.boot.vbmeta.hash_alg" "sha256"
empty_reset_prop "ro.boot.vbmeta.size" "4096"
$RP -c || true