Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
Magisk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Magisk
Commits
9b4ae8fc
Commit
9b4ae8fc
authored
Sep 15, 2017
by
topjohnwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adjust scripts
parent
a1a2c524
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
43 additions
and
74 deletions
+43
-74
boot_patch.sh
scripts/boot_patch.sh
+22
-55
flash_script.sh
scripts/flash_script.sh
+1
-1
magisk_uninstaller.sh
scripts/magisk_uninstaller.sh
+14
-7
uninstaller_loader.sh
scripts/uninstaller_loader.sh
+5
-10
update_binary.sh
scripts/update_binary.sh
+1
-1
No files found.
scripts/boot_patch.sh
View file @
9b4ae8fc
...
@@ -29,24 +29,6 @@
...
@@ -29,24 +29,6 @@
# Functions
# Functions
##########################################################################################
##########################################################################################
# Call ui_print_wrap if exists, or else simply use echo
# Useful when wrapped in flashable zip
ui_print_wrap
()
{
type
ui_print
>
/dev/null 2>&1
&&
ui_print
"
$1
"
||
echo
"
$1
"
}
# Call abort if exists, or else show error message and exit
# Essential when wrapped in flashable zip
abort_wrap
()
{
type
abort
>
/dev/null 2>&1
if
[
$?
-ne
0
]
;
then
ui_print_wrap
"
$1
"
exit
1
else
abort
"
$1
"
fi
}
# Pure bash dirname implementation
# Pure bash dirname implementation
dirname_wrap
()
{
dirname_wrap
()
{
case
"
$1
"
in
case
"
$1
"
in
...
@@ -65,16 +47,6 @@ basename_wrap() {
...
@@ -65,16 +47,6 @@ basename_wrap() {
echo
${
1
##*/
}
echo
${
1
##*/
}
}
}
grep_prop
()
{
REGEX
=
"s/^
$1
=//p"
shift
FILES
=
$@
if
[
-z
"
$FILES
"
]
;
then
FILES
=
'/system/build.prop'
fi
cat
$FILES
2>/dev/null |
sed
-n
"
$REGEX
"
|
head
-n
1
}
# --cpio-add <incpio> <mode> <entry> <infile>
# --cpio-add <incpio> <mode> <entry> <infile>
cpio_add
()
{
cpio_add
()
{
./magiskboot
--cpio-add
ramdisk.cpio
$1
$2
$3
./magiskboot
--cpio-add
ramdisk.cpio
$1
$2
$3
...
@@ -94,14 +66,9 @@ cpio_mkdir() {
...
@@ -94,14 +66,9 @@ cpio_mkdir() {
# Initialization
# Initialization
##########################################################################################
##########################################################################################
[
-z
$1
]
&&
abort_wrap
"This script requires a boot image as a parameter"
BOOTIMAGE
=
"
$1
"
cwd
=
`
pwd
`
cd
"
`
dirname_wrap
$1
`
"
BOOTIMAGE
=
"
`
pwd
`
/
`
basename_wrap
$1
`
"
cd
$cwd
[
-e
"
$BOOTIMAGE
"
]
||
abort_wrap
"
$BOOTIMAGE
does not exist!"
[
-e
"
$BOOTIMAGE
"
]
||
(
echo
"
$BOOTIMAGE
does not exist!"
&&
exit
1
)
# Presets
# Presets
[
-z
$KEEPVERITY
]
&&
KEEPVERITY
=
false
[
-z
$KEEPVERITY
]
&&
KEEPVERITY
=
false
...
@@ -129,23 +96,23 @@ migrate_boot_backup
...
@@ -129,23 +96,23 @@ migrate_boot_backup
CHROMEOS
=
false
CHROMEOS
=
false
ui_print
_wrap
"- Unpacking boot image"
ui_print
"- Unpacking boot image"
./magiskboot
--unpack
"
$BOOTIMAGE
"
./magiskboot
--unpack
"
$BOOTIMAGE
"
case
$?
in
case
$?
in
1
)
1
)
abort
_wrap
"! Unable to unpack boot image"
abort
"! Unable to unpack boot image"
;;
;;
2
)
2
)
CHROMEOS
=
true
CHROMEOS
=
true
;;
;;
3
)
3
)
ui_print
_wrap
"! Sony ELF32 format detected"
ui_print
"! Sony ELF32 format detected"
abort
_wrap
"! Please use BootBridge from @AdrianDC to flash Magisk"
abort
"! Please use BootBridge from @AdrianDC to flash Magisk"
;;
;;
4
)
4
)
ui_print
_wrap
"! Sony ELF64 format detected"
ui_print
"! Sony ELF64 format detected"
abort
_wrap
"! Stock kernel cannot be patched, please use a custom kernel"
abort
"! Stock kernel cannot be patched, please use a custom kernel"
esac
esac
##########################################################################################
##########################################################################################
...
@@ -153,12 +120,12 @@ esac
...
@@ -153,12 +120,12 @@ esac
##########################################################################################
##########################################################################################
# Test patch status and do restore, after this section, ramdisk.cpio.orig is guaranteed to exist
# Test patch status and do restore, after this section, ramdisk.cpio.orig is guaranteed to exist
ui_print
_wrap
"- Checking ramdisk status"
ui_print
"- Checking ramdisk status"
./magiskboot
--cpio-test
ramdisk.cpio
./magiskboot
--cpio-test
ramdisk.cpio
case
$?
in
case
$?
in
0
)
# Stock boot
0
)
# Stock boot
ui_print
_wrap
"- Stock boot image detected!"
ui_print
"- Stock boot image detected!"
ui_print
_wrap
"- Backing up stock boot image"
ui_print
"- Backing up stock boot image"
SHA1
=
`
./magiskboot
--sha1
"
$BOOTIMAGE
"
2>/dev/null
`
SHA1
=
`
./magiskboot
--sha1
"
$BOOTIMAGE
"
2>/dev/null
`
STOCKDUMP
=
stock_boot_
${
SHA1
}
.img
STOCKDUMP
=
stock_boot_
${
SHA1
}
.img
dd
if
=
"
$BOOTIMAGE
"
of
=
$STOCKDUMP
dd
if
=
"
$BOOTIMAGE
"
of
=
$STOCKDUMP
...
@@ -166,22 +133,22 @@ case $? in
...
@@ -166,22 +133,22 @@ case $? in
cp
-af
ramdisk.cpio ramdisk.cpio.orig
cp
-af
ramdisk.cpio ramdisk.cpio.orig
;;
;;
1
)
# Magisk patched
1
)
# Magisk patched
ui_print
_wrap
"- Magisk patched image detected!"
ui_print
"- Magisk patched image detected!"
# Find SHA1 of stock boot image
# Find SHA1 of stock boot image
[
-z
$SHA1
]
&&
SHA1
=
`
./magiskboot
--cpio-stocksha1
ramdisk.cpio 2>/dev/null
`
[
-z
$SHA1
]
&&
SHA1
=
`
./magiskboot
--cpio-stocksha1
ramdisk.cpio 2>/dev/null
`
OK
=
false
OK
=
false
./magiskboot
--cpio-restore
ramdisk.cpio
./magiskboot
--cpio-restore
ramdisk.cpio
if
[
$?
-eq
0
]
;
then
if
[
$?
-eq
0
]
;
then
ui_print
_wrap
"- Ramdisk restored from internal backup"
ui_print
"- Ramdisk restored from internal backup"
OK
=
true
OK
=
true
else
else
# Restore failed
# Restore failed
ui_print
_wrap
"! Cannot restore from internal backup"
ui_print
"! Cannot restore from internal backup"
# If we are root and SHA1 known, we try to find the stock backup
# If we are root and SHA1 known, we try to find the stock backup
if
$ROOT
&&
[
!
-z
$SHA1
]
;
then
if
$ROOT
&&
[
!
-z
$SHA1
]
;
then
STOCKDUMP
=
/data/stock_boot_
${
SHA1
}
.img
STOCKDUMP
=
/data/stock_boot_
${
SHA1
}
.img
if
[
-f
${
STOCKDUMP
}
.gz
]
;
then
if
[
-f
${
STOCKDUMP
}
.gz
]
;
then
ui_print
_wrap
"- Stock boot image backup found"
ui_print
"- Stock boot image backup found"
./magiskboot
--decompress
${
STOCKDUMP
}
.gz stock_boot.img
./magiskboot
--decompress
${
STOCKDUMP
}
.gz stock_boot.img
./magiskboot
--unpack
stock_boot.img
./magiskboot
--unpack
stock_boot.img
rm
-f
stock_boot.img
rm
-f
stock_boot.img
...
@@ -190,14 +157,14 @@ case $? in
...
@@ -190,14 +157,14 @@ case $? in
fi
fi
fi
fi
if
!
$OK
;
then
if
!
$OK
;
then
ui_print
_wrap
"! Ramdisk restoration incomplete"
ui_print
"! Ramdisk restoration incomplete"
ui_print
_wrap
"! Will still try to continue installation"
ui_print
"! Will still try to continue installation"
fi
fi
cp
-af
ramdisk.cpio ramdisk.cpio.orig
cp
-af
ramdisk.cpio ramdisk.cpio.orig
;;
;;
2
)
# Other patched
2
)
# Other patched
ui_print
_wrap
"! Boot image patched by other programs!"
ui_print
"! Boot image patched by other programs!"
abort
_wrap
"! Please restore stock boot image"
abort
"! Please restore stock boot image"
;;
;;
esac
esac
...
@@ -205,7 +172,7 @@ esac
...
@@ -205,7 +172,7 @@ esac
# Ramdisk patches
# Ramdisk patches
##########################################################################################
##########################################################################################
ui_print
_wrap
"- Patching ramdisk"
ui_print
"- Patching ramdisk"
if
[
!
-z
$SHA1
]
;
then
if
[
!
-z
$SHA1
]
;
then
cp
init.magisk.rc init.magisk.rc.bak
cp
init.magisk.rc init.magisk.rc.bak
...
@@ -257,8 +224,8 @@ A1020054011440B93FA00F7140020054010840B93FA00F71E0010054001840B91FA00F7181010054
...
@@ -257,8 +224,8 @@ A1020054011440B93FA00F7140020054010840B93FA00F71E0010054001840B91FA00F7181010054
736B69705F696E697472616D6673
\
736B69705F696E697472616D6673
\
77616E745F696E697472616D6673
77616E745F696E697472616D6673
ui_print
_wrap
"- Repacking boot image"
ui_print
"- Repacking boot image"
./magiskboot
--repack
"
$BOOTIMAGE
"
||
abort
_wrap
"! Unable to repack boot image!"
./magiskboot
--repack
"
$BOOTIMAGE
"
||
abort
"! Unable to repack boot image!"
# Sign chromeos boot
# Sign chromeos boot
$CHROMEOS
&&
sign_chromeos
$CHROMEOS
&&
sign_chromeos
...
...
scripts/flash_script.sh
View file @
9b4ae8fc
...
@@ -31,7 +31,7 @@ umask 022
...
@@ -31,7 +31,7 @@ umask 022
OUTFD
=
$2
OUTFD
=
$2
ZIP
=
$3
ZIP
=
$3
if
[
!
-
d
"
$COMMONDIR
"
]
;
then
if
[
!
-
f
$COMMONDIR
/util_functions.sh
]
;
then
echo
"! Unable to extract zip file!"
echo
"! Unable to extract zip file!"
exit
1
exit
1
fi
fi
...
...
scripts/magisk_uninstaller.sh
View file @
9b4ae8fc
...
@@ -31,8 +31,16 @@ if [ ! -f $MAGISKBIN/magiskboot -o ! -f $MAGISKBIN/util_functions.sh ]; then
...
@@ -31,8 +31,16 @@ if [ ! -f $MAGISKBIN/magiskboot -o ! -f $MAGISKBIN/util_functions.sh ]; then
exit
1
exit
1
fi
fi
# Load utility functions
if
$BOOTMODE
;
then
.
$MAGISKBIN
/util_functions.sh
# Load utility functions
.
$MAGISKBIN
/util_functions.sh
boot_actions
mount_partitions
else
recovery_actions
fi
cd
$MAGISKBIN
# Find the boot image
# Find the boot image
find_boot_image
find_boot_image
...
@@ -40,7 +48,7 @@ find_boot_image
...
@@ -40,7 +48,7 @@ find_boot_image
ui_print
"- Found Boot Image:
$BOOTIMAGE
"
ui_print
"- Found Boot Image:
$BOOTIMAGE
"
cd
$MAGISKBIN
migrate_boot_backup
ui_print
"- Unpacking boot image"
ui_print
"- Unpacking boot image"
./magiskboot
--unpack
"
$BOOTIMAGE
"
./magiskboot
--unpack
"
$BOOTIMAGE
"
...
@@ -61,9 +69,8 @@ case $? in
...
@@ -61,9 +69,8 @@ case $? in
abort
"! Stock kernel cannot be patched, please use a custom kernel"
abort
"! Stock kernel cannot be patched, please use a custom kernel"
esac
esac
migrate_boot_backup
# Detect boot image state
# Detect boot image state
ui_print
"- Checking ramdisk status"
./magiskboot
--cpio-test
ramdisk.cpio
./magiskboot
--cpio-test
ramdisk.cpio
case
$?
in
case
$?
in
0
)
# Stock boot
0
)
# Stock boot
...
@@ -109,6 +116,6 @@ rm -rf /cache/magisk.log /cache/last_magisk.log /cache/magiskhide.log /cache/.d
...
@@ -109,6 +116,6 @@ rm -rf /cache/magisk.log /cache/last_magisk.log /cache/magiskhide.log /cache/.d
/cache/magisk /cache/magisk_merge /cache/magisk_mount /cache/unblock /cache/magisk_uninstaller.sh
\
/cache/magisk /cache/magisk_merge /cache/magisk_mount /cache/unblock /cache/magisk_uninstaller.sh
\
/data/Magisk.apk /data/magisk.apk /data/magisk.img /data/magisk_merge.img /data/magisk_debug.log
\
/data/Magisk.apk /data/magisk.apk /data/magisk.img /data/magisk_merge.img /data/magisk_debug.log
\
/data/busybox /data/magisk /data/custom_ramdisk_patch.sh /data/property/
*
magisk
*
\
/data/busybox /data/magisk /data/custom_ramdisk_patch.sh /data/property/
*
magisk
*
\
/data/app/com.topjohnwu.magisk
*
/data/user/
*
/com.topjohnwu.magisk 2>/dev/null
/data/app/com.topjohnwu.magisk
*
/data/user
*
/
*
/com.topjohnwu.magisk 2>/dev/null
$BOOTMODE
&&
reboot
$BOOTMODE
&&
reboot
||
recovery_cleanup
scripts/uninstaller_loader.sh
View file @
9b4ae8fc
...
@@ -24,7 +24,7 @@ OUTFD=$2
...
@@ -24,7 +24,7 @@ OUTFD=$2
ZIP
=
$3
ZIP
=
$3
if
[
!
-f
$INSTALLER
/util_functions.sh
]
;
then
if
[
!
-f
$INSTALLER
/util_functions.sh
]
;
then
echo
"!
Failed:
Unable to extract zip file!"
echo
"! Unable to extract zip file!"
exit
1
exit
1
fi
fi
...
@@ -40,13 +40,8 @@ ui_print "************************"
...
@@ -40,13 +40,8 @@ ui_print "************************"
ui_print
" Magisk Uninstaller "
ui_print
" Magisk Uninstaller "
ui_print
"************************"
ui_print
"************************"
ui_print
"- Mounting /system, /vendor, /cache, /data"
is_mounted /data
||
mount /data
mount
-o
ro /system 2>/dev/null
mount_partitions
mount
-o
ro /vendor 2>/dev/null
mount /cache 2>/dev/null
mount /data 2>/dev/null
[
-f
/system/build.prop
]
||
abort
"! /system could not be mounted!"
api_level_arch_detect
api_level_arch_detect
...
@@ -61,15 +56,15 @@ BINDIR=$INSTALLER/$ARCH
...
@@ -61,15 +56,15 @@ BINDIR=$INSTALLER/$ARCH
MAGISKBIN
=
/data/magisk
MAGISKBIN
=
/data/magisk
if
is_mounted /data
;
then
if
is_mounted /data
;
then
# Save our stock boot image dump before removing it
[
-f
$MAGISKBIN
/stock_boot
*
]
&&
mv
$MAGISKBIN
/stock_boot
*
/data
# Copy the binaries to /data/magisk, in case they do not exist
# Copy the binaries to /data/magisk, in case they do not exist
rm
-rf
$MAGISKBIN
2>/dev/null
rm
-rf
$MAGISKBIN
2>/dev/null
mkdir
-p
$MAGISKBIN
mkdir
-p
$MAGISKBIN
cp
-af
$BINDIR
/.
$CHROMEDIR
$TMPDIR
/bin/busybox
$INSTALLER
/util_functions.sh
$MAGISKBIN
cp
-af
$BINDIR
/.
$CHROMEDIR
$TMPDIR
/bin/busybox
$INSTALLER
/util_functions.sh
$MAGISKBIN
chmod
-R
755
$MAGISKBIN
chmod
-R
755
$MAGISKBIN
# Run the acttual uninstallation
# Run the acttual uninstallation
recovery_actions
.
$INSTALLER
/magisk_uninstaller.sh
.
$INSTALLER
/magisk_uninstaller.sh
recovery_cleanup
else
else
ui_print
"! Data unavailable"
ui_print
"! Data unavailable"
ui_print
"! Placing uninstall script to /cache"
ui_print
"! Placing uninstall script to /cache"
...
...
scripts/update_binary.sh
View file @
9b4ae8fc
...
@@ -6,7 +6,7 @@ dirname_wrap() {
...
@@ -6,7 +6,7 @@ dirname_wrap() {
esac
esac
}
}
[
"
$1
"
=
"indep"
]
&&
INDEP
=
true
||
INDEP
=
false
[
"
$1
"
=
"indep"
]
&&
INDEP
=
true
||
INDEP
=
false
$INDEP
&&
TMPDIR
=
"
`
cd
"
\`
dirname_wrap "
${
BASH_SOURCE
:-
$0
}
"
\`
"
&&
pwd
`
"
||
TMPDIR
=
/dev/tmp
$INDEP
&&
TMPDIR
=
"
`
dirname_wrap
"
${
BASH_SOURCE
:-
$0
}
"
`
"
||
TMPDIR
=
/dev/tmp
INSTALLER
=
$TMPDIR
/install
;
BBDIR
=
$TMPDIR
/bin
INSTALLER
=
$TMPDIR
/install
;
BBDIR
=
$TMPDIR
/bin
EXBIN
=
$BBDIR
/b64xz
;
BBBIN
=
$BBDIR
/busybox
EXBIN
=
$BBDIR
/b64xz
;
BBBIN
=
$BBDIR
/busybox
$INDEP
||
rm
-rf
$TMPDIR
2>/dev/null
;
$INDEP
||
rm
-rf
$TMPDIR
2>/dev/null
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment