KernelPatch 0.8.4
このコミットが含まれているのは:
115
META-INF/com/google/android/update-binary
ノーマルファイル
115
META-INF/com/google/android/update-binary
ノーマルファイル
@@ -0,0 +1,115 @@
|
||||
#!/sbin/sh
|
||||
|
||||
export ZIPFILE="$3"
|
||||
export OUTFD="/proc/self/fd/$2"
|
||||
export TMP="/tmp"
|
||||
|
||||
bb="$TMP/busybox-arm"
|
||||
l="$TMP/bin"
|
||||
|
||||
ui_print() {
|
||||
echo "ui_print $1" > "$OUTFD";
|
||||
echo "ui_print" > "$OUTFD";
|
||||
}
|
||||
|
||||
unzip -o "$ZIPFILE" "install.sh" -d "$TMP";
|
||||
unzip -o "$ZIPFILE" "magiskboot" -d "$TMP";
|
||||
unzip -o "$ZIPFILE" "libapjni.so" -d "$TMP";
|
||||
unzip -o "$ZIPFILE" "kpimg-android" -d "$TMP";
|
||||
unzip -o "$ZIPFILE" "kptools-android" -d "$TMP";
|
||||
unzip -o "$ZIPFILE" "superkey-here.txt" -d "$TMP";
|
||||
|
||||
cd "$TMP"
|
||||
|
||||
# getprop
|
||||
GETPROP=$(which getprop)
|
||||
if [ -z "$GETPROP" ]; then
|
||||
GETPROP=/system/bin/getprop
|
||||
[ ! -e "$GETPROP" ] && GETPROP=/sbin/getprop
|
||||
[ ! -e "$GETPROP" ] && GETPROP=$(which resetprop)
|
||||
fi
|
||||
|
||||
ARCH=$(uname -m)
|
||||
|
||||
if [ "$ARCH" = "aarch64" ]; then
|
||||
ui_print "ARCH is arm64..."
|
||||
else
|
||||
ui_print "Not is arm64, aborting..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
is_ab_device() {
|
||||
local S="$($GETPROP "ro.boot.slot_suffix")"
|
||||
local U="$($GETPROP "ro.build.ab_update")"
|
||||
if [ -n "$S" -a "$U" = "true" ]; then
|
||||
echo "1"
|
||||
else
|
||||
echo "0"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$(is_ab_device)" = "1" ]; then
|
||||
slot_suffix=$($GETPROP ro.boot.slot_suffix)
|
||||
dd if="/dev/block/by-name/boot$slot_suffix" of="$TMP/boot.img"
|
||||
else
|
||||
dd if=/dev/block/by-name/boot of="$TMP/boot.img"
|
||||
fi
|
||||
|
||||
if [ -f "$TMP/boot.img" ]; then
|
||||
ui_print "get boot success"
|
||||
else
|
||||
ui_print "get boot failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp "$TMP/boot.img" /sdcard/
|
||||
|
||||
ui_print "backup boot.img in sdcard"
|
||||
|
||||
ui_print "unpacking.."
|
||||
|
||||
./magiskboot unpack "$TMP/boot.img" || exit $?
|
||||
|
||||
mv "$TMP/kernel" "$TMP/kernel.ori"
|
||||
|
||||
SUPERKEY="$(cat "$TMP/superkey-here.txt")"
|
||||
|
||||
if [ -z "$SUPERKEY" ]; then
|
||||
ui_print "Superkey must not be empty."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ui_print "Your superkey is: $SUPERKEY"
|
||||
|
||||
ui_print "Patching kernel"
|
||||
./kptools-android -p "$TMP/kernel.ori" --skey "$SUPERKEY" --kpimg "$TMP/kpimg-android" --out "$TMP/kernel"
|
||||
|
||||
if [ -f "$TMP/kernel" ]; then
|
||||
ui_print "patch kernel success"
|
||||
else
|
||||
ui_print "patch kernel failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ui_print "Repacking boot image"
|
||||
./magiskboot repack "$TMP/boot.img"
|
||||
|
||||
if [ -f "$TMP/new-boot.img" ]; then
|
||||
ui_print "repack boot success"
|
||||
else
|
||||
ui_print "repack boot failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ui_print "flashing..."
|
||||
|
||||
if [ "$(is_ab_device)" = "1" ]; then
|
||||
slot_suffix=$($GETPROP ro.boot.slot_suffix)
|
||||
blockdev --setrw "/dev/block/by-name/boot$slot_suffix"
|
||||
dd if=new-boot.img of="/dev/block/by-name/boot$slot_suffix"
|
||||
else
|
||||
blockdev --setrw /dev/block/by-name/boot
|
||||
dd if=new-boot.img of=/dev/block/by-name/boot
|
||||
fi
|
||||
|
||||
ui_print "flash done"
|
1
META-INF/com/google/android/updater-script
ノーマルファイル
1
META-INF/com/google/android/updater-script
ノーマルファイル
@@ -0,0 +1 @@
|
||||
# Dummy file; update-binary is a shell script.
|
@@ -1,2 +1,5 @@
|
||||
# kpatch-zip-flashable
|
||||
KernelPatch flashable zip in recovery
|
||||
|
||||
|
||||
PUT YOUR SUPERKEY IN FILE "superkey-here.txt" AND JUST FLASH IN RECOVERY
|
バイナリ
kpimg-android
ノーマルファイル
バイナリ
kpimg-android
ノーマルファイル
バイナリファイルは表示されません。
バイナリ
kptools-android
ノーマルファイル
バイナリ
kptools-android
ノーマルファイル
バイナリファイルは表示されません。
バイナリ
libapjni.so
ノーマルファイル
バイナリ
libapjni.so
ノーマルファイル
バイナリファイルは表示されません。
バイナリ
magiskboot
ノーマルファイル
バイナリ
magiskboot
ノーマルファイル
バイナリファイルは表示されません。
0
superkey-here.txt
ノーマルファイル
0
superkey-here.txt
ノーマルファイル
新しいイシューから参照
ユーザーをブロックする