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
Hide 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 @@
# 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
dirname_wrap
()
{
case
"
$1
"
in
...
...
@@ -65,16 +47,6 @@ basename_wrap() {
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
()
{
./magiskboot
--cpio-add
ramdisk.cpio
$1
$2
$3
...
...
@@ -94,14 +66,9 @@ cpio_mkdir() {
# Initialization
##########################################################################################
[
-z
$1
]
&&
abort_wrap
"This script requires a boot image as a parameter"
cwd
=
`
pwd
`
cd
"
`
dirname_wrap
$1
`
"
BOOTIMAGE
=
"
`
pwd
`
/
`
basename_wrap
$1
`
"
cd
$cwd
BOOTIMAGE
=
"
$1
"
[
-e
"
$BOOTIMAGE
"
]
||
abort_wrap
"
$BOOTIMAGE
does not exist!"
[
-e
"
$BOOTIMAGE
"
]
||
(
echo
"
$BOOTIMAGE
does not exist!"
&&
exit
1
)
# Presets
[
-z
$KEEPVERITY
]
&&
KEEPVERITY
=
false
...
...
@@ -129,23 +96,23 @@ migrate_boot_backup
CHROMEOS
=
false
ui_print
_wrap
"- Unpacking boot image"
ui_print
"- Unpacking boot image"
./magiskboot
--unpack
"
$BOOTIMAGE
"
case
$?
in
1
)
abort
_wrap
"! Unable to unpack boot image"
abort
"! Unable to unpack boot image"
;;
2
)
CHROMEOS
=
true
;;
3
)
ui_print
_wrap
"! Sony ELF32 format detected"
abort
_wrap
"! Please use BootBridge from @AdrianDC to flash Magisk"
ui_print
"! Sony ELF32 format detected"
abort
"! Please use BootBridge from @AdrianDC to flash Magisk"
;;
4
)
ui_print
_wrap
"! Sony ELF64 format detected"
abort
_wrap
"! Stock kernel cannot be patched, please use a custom kernel"
ui_print
"! Sony ELF64 format detected"
abort
"! Stock kernel cannot be patched, please use a custom kernel"
esac
##########################################################################################
...
...
@@ -153,12 +120,12 @@ esac
##########################################################################################
# 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
case
$?
in
0
)
# Stock boot
ui_print
_wrap
"- Stock boot image detected!"
ui_print
_wrap
"- Backing up stock boot image"
ui_print
"- Stock boot image detected!"
ui_print
"- Backing up stock boot image"
SHA1
=
`
./magiskboot
--sha1
"
$BOOTIMAGE
"
2>/dev/null
`
STOCKDUMP
=
stock_boot_
${
SHA1
}
.img
dd
if
=
"
$BOOTIMAGE
"
of
=
$STOCKDUMP
...
...
@@ -166,22 +133,22 @@ case $? in
cp
-af
ramdisk.cpio ramdisk.cpio.orig
;;
1
)
# Magisk patched
ui_print
_wrap
"- Magisk patched image detected!"
ui_print
"- Magisk patched image detected!"
# Find SHA1 of stock boot image
[
-z
$SHA1
]
&&
SHA1
=
`
./magiskboot
--cpio-stocksha1
ramdisk.cpio 2>/dev/null
`
OK
=
false
./magiskboot
--cpio-restore
ramdisk.cpio
if
[
$?
-eq
0
]
;
then
ui_print
_wrap
"- Ramdisk restored from internal backup"
ui_print
"- Ramdisk restored from internal backup"
OK
=
true
else
# 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
$ROOT
&&
[
!
-z
$SHA1
]
;
then
STOCKDUMP
=
/data/stock_boot_
${
SHA1
}
.img
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
--unpack
stock_boot.img
rm
-f
stock_boot.img
...
...
@@ -190,14 +157,14 @@ case $? in
fi
fi
if
!
$OK
;
then
ui_print
_wrap
"! Ramdisk restoration incomplete"
ui_print
_wrap
"! Will still try to continue installation"
ui_print
"! Ramdisk restoration incomplete"
ui_print
"! Will still try to continue installation"
fi
cp
-af
ramdisk.cpio ramdisk.cpio.orig
;;
2
)
# Other patched
ui_print
_wrap
"! Boot image patched by other programs!"
abort
_wrap
"! Please restore stock boot image"
ui_print
"! Boot image patched by other programs!"
abort
"! Please restore stock boot image"
;;
esac
...
...
@@ -205,7 +172,7 @@ esac
# Ramdisk patches
##########################################################################################
ui_print
_wrap
"- Patching ramdisk"
ui_print
"- Patching ramdisk"
if
[
!
-z
$SHA1
]
;
then
cp
init.magisk.rc init.magisk.rc.bak
...
...
@@ -257,8 +224,8 @@ A1020054011440B93FA00F7140020054010840B93FA00F71E0010054001840B91FA00F7181010054
736B69705F696E697472616D6673
\
77616E745F696E697472616D6673
ui_print
_wrap
"- Repacking boot image"
./magiskboot
--repack
"
$BOOTIMAGE
"
||
abort
_wrap
"! Unable to repack boot image!"
ui_print
"- Repacking boot image"
./magiskboot
--repack
"
$BOOTIMAGE
"
||
abort
"! Unable to repack boot image!"
# Sign chromeos boot
$CHROMEOS
&&
sign_chromeos
...
...
scripts/flash_script.sh
View file @
9b4ae8fc
...
...
@@ -31,7 +31,7 @@ umask 022
OUTFD
=
$2
ZIP
=
$3
if
[
!
-
d
"
$COMMONDIR
"
]
;
then
if
[
!
-
f
$COMMONDIR
/util_functions.sh
]
;
then
echo
"! Unable to extract zip file!"
exit
1
fi
...
...
scripts/magisk_uninstaller.sh
View file @
9b4ae8fc
...
...
@@ -31,8 +31,16 @@ if [ ! -f $MAGISKBIN/magiskboot -o ! -f $MAGISKBIN/util_functions.sh ]; then
exit
1
fi
# Load utility functions
.
$MAGISKBIN
/util_functions.sh
if
$BOOTMODE
;
then
# Load utility functions
.
$MAGISKBIN
/util_functions.sh
boot_actions
mount_partitions
else
recovery_actions
fi
cd
$MAGISKBIN
# Find the boot image
find_boot_image
...
...
@@ -40,7 +48,7 @@ find_boot_image
ui_print
"- Found Boot Image:
$BOOTIMAGE
"
cd
$MAGISKBIN
migrate_boot_backup
ui_print
"- Unpacking boot image"
./magiskboot
--unpack
"
$BOOTIMAGE
"
...
...
@@ -61,9 +69,8 @@ case $? in
abort
"! Stock kernel cannot be patched, please use a custom kernel"
esac
migrate_boot_backup
# Detect boot image state
ui_print
"- Checking ramdisk status"
./magiskboot
--cpio-test
ramdisk.cpio
case
$?
in
0
)
# Stock boot
...
...
@@ -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
\
/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/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
ZIP
=
$3
if
[
!
-f
$INSTALLER
/util_functions.sh
]
;
then
echo
"!
Failed:
Unable to extract zip file!"
echo
"! Unable to extract zip file!"
exit
1
fi
...
...
@@ -40,13 +40,8 @@ ui_print "************************"
ui_print
" Magisk Uninstaller "
ui_print
"************************"
ui_print
"- Mounting /system, /vendor, /cache, /data"
mount
-o
ro /system 2>/dev/null
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!"
is_mounted /data
||
mount /data
mount_partitions
api_level_arch_detect
...
...
@@ -61,15 +56,15 @@ BINDIR=$INSTALLER/$ARCH
MAGISKBIN
=
/data/magisk
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
rm
-rf
$MAGISKBIN
2>/dev/null
mkdir
-p
$MAGISKBIN
cp
-af
$BINDIR
/.
$CHROMEDIR
$TMPDIR
/bin/busybox
$INSTALLER
/util_functions.sh
$MAGISKBIN
chmod
-R
755
$MAGISKBIN
# Run the acttual uninstallation
recovery_actions
.
$INSTALLER
/magisk_uninstaller.sh
recovery_cleanup
else
ui_print
"! Data unavailable"
ui_print
"! Placing uninstall script to /cache"
...
...
scripts/update_binary.sh
View file @
9b4ae8fc
...
...
@@ -6,7 +6,7 @@ dirname_wrap() {
esac
}
[
"
$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
EXBIN
=
$BBDIR
/b64xz
;
BBBIN
=
$BBDIR
/busybox
$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