Skip to content

Commit 2df771c

Browse files
switch from using magisk mirror to denylist exec
1 parent 1da6b9c commit 2df771c

File tree

2 files changed

+31
-17
lines changed

2 files changed

+31
-17
lines changed

magiskmodule/customize.sh

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,26 @@ cd "$MODPATH"
88
[ ! -f ./version.sh ] && abort "Missing version.sh"
99
. ./version.sh
1010

11-
MAGISKTMP="$(magisk --path)" || MAGISKTMP=/sbin
12-
MIRROR="$MAGISKTMP"/.magisk/mirror
13-
ui_print "- Found Magisk mirror at $MIRROR"
14-
1511
findConfigFile() {
1612
for path in /storage/emulated/0 /data/adb; do
1713
[ -f "$path/$1" ] && echo "$path/$1" && break
1814
done
1915
}
2016

17+
#shellcheck disable=SC2154
18+
[ "$MAGISK_VER_CODE" -ge 23010 ] || abort "magisk version $MAGISK_VER_CODE unsupported"
19+
[ -n "$(command -v magisk)" ] || abort "magisk command not found"
20+
magisk --denylist exec true || abort "magisk denylist exec failed"
21+
denylist_run() {
22+
magisk --denylist exec "$@"
23+
}
24+
2125
BLACKLIST="$(findConfigFile revancedrepackaged-blacklist.txt)"
2226
[ -n "$BLACKLIST" ] && ui_print "- Found blacklist at $BLACKLIST"
2327

2428
ui_print "- Preparing Patching Process"
2529

30+
#shellcheck disable=SC2154
2631
[ ! -f aapt2lib/"$ARCH"/libaapt2.so ] && abort "Failed to locate libaapt2.so for $ARCH"
2732
mv -v aapt2lib/"$ARCH"/libaapt2.so aapt2
2833
rm -r aapt2lib
@@ -60,12 +65,10 @@ processPackage() {
6065

6166
ui_print "- Found APK at $apkpath"
6267

63-
apkpath="$MIRROR"/"$apkpath"
64-
6568
patchAPK "$packagename" "$apkpath"
6669

6770
[ ! -f overlay/"$packagename".apk ] && abort "Couldn't locate patched file!"
68-
sha256sum < "$apkpath" > overlay/"$packagename".sha256sum
71+
denylist_run cat "$apkpath" | sha256sum > overlay/"$packagename".sha256sum
6972

7073
chcon u:object_r:apk_data_file:s0 overlay/"$packagename".apk
7174
}
@@ -74,6 +77,7 @@ patchAPK() {
7477
packagename="$1"
7578
apkpath="$2"
7679
cd "$TMPDIR"
80+
denylist_run cat "$apkpath" > app.apk
7781

7882
ui_print "- Patching $packagename"
7983

@@ -98,12 +102,13 @@ patchAPK() {
98102
--include='Custom branding' \
99103
--options=options.json \
100104
--purge \
101-
"$apkpath" \
105+
app.apk \
102106
2>&1 || abort "Patching failed! $?"
103107

104108
[ ! -f out.apk ] && abort "Patching failed!"
105109

106110
mv -v out.apk "$MODPATH"/overlay/"$packagename".apk
111+
rm app.apk
107112

108113
cd "$MODPATH"
109114
}

magiskmodule/service.sh

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,32 @@ cd "$(dirname "$0")"
44
. ./version.sh
55

66
logi() {
7-
msg="ReVancedRepackaged: $1"
7+
msg="ReVancedRepackaged: $*"
88
log -t Magisk "$msg"
99
echo "$msg" >> /cache/magisk.log
1010
}
11+
abort() {
12+
logi "$@"
13+
touch remove
14+
exit 1
15+
}
16+
17+
[ -z "$(command -v magisk)" ] && abort "magisk command not found"
18+
magisk --denylist exec true || abort "magisk denylist exec failed"
19+
denylist_run() {
20+
magisk --denylist exec "$@"
21+
}
1122

12-
[ -z "$(ls overlay)" ] && logi "No overlays found!" && touch remove && exit 1
23+
[ -z "$(ls overlay)" ] && abort "No overlays found!"
1324

1425
while [ "$(getprop sys.boot_completed)" != "1" ]; do
1526
sleep 1
1627
done
1728

18-
MAGISKTMP="$(magisk --path)" || MAGISKTMP=/sbin
19-
MIRROR="$MAGISKTMP"/.magisk/mirror
20-
2129
checkHash() {
2230
packagename="$1"
2331
apkpath="$2"
24-
[ "$(sha256sum < "$apkpath")" = "$(cat overlay/"$packagename".sha256sum)" ] && return 0
32+
[ "$(denylist_run cat "$apkpath" | sha256sum)" = "$(cat overlay/"$packagename".sha256sum)" ] && return 0
2533
logi "Package $packagename has changed their base.apk! Removing their overlay, because a repatch is required."
2634
rm overlay/"$packagename".*
2735
return 1
@@ -38,8 +46,9 @@ overlayPackage() {
3846
| cut -d':' -f2)
3947

4048
[ -z "$apkpath" ] && \
41-
apkpath=$(find -H \
42-
"$MIRROR"/data/app \
49+
apkpath=$(denylist_run \
50+
find -H \
51+
/data/app \
4352
-wholename "*${packagename}*/base.apk")
4453

4554
[ -z "$apkpath" ] \
@@ -48,7 +57,7 @@ overlayPackage() {
4857

4958
checkHash "$packagename" "$apkpath" || return 1
5059

51-
mount -o bind "$MIRROR"/"$overlayapk" "$apkpath" || {
60+
mount -o bind "$overlayapk" "$apkpath" || {
5261
logi "Failed to mount $overlayapk on $apkpath"
5362
return 1
5463
}

0 commit comments

Comments
 (0)