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
298f0940
Commit
298f0940
authored
Jan 31, 2017
by
topjohnwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Introduce MagiskSU
parent
d4149d4b
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
82 additions
and
60 deletions
+82
-60
.gitignore
.gitignore
+3
-0
build.cmd
build.cmd
+6
-2
build.sh
build.sh
+6
-2
custom_ramdisk_patch.sh
scripts/custom_ramdisk_patch.sh
+3
-2
flash_script.sh
scripts/flash_script.sh
+23
-30
init.magisk.rc
scripts/init.magisk.rc
+0
-0
magic_mask.sh
scripts/magic_mask.sh
+13
-16
magisksu.sh
scripts/magisksu.sh
+28
-0
module.prop
zip_static/common/phh/module.prop
+0
-8
No files found.
.gitignore
View file @
298f0940
...
...
@@ -15,6 +15,9 @@ ziptools/zipadjust
# Generated scripts
zip_static/common/magic_mask.sh
zip_static/common/magisksu.sh
zip_static/common/init.magisk.rc
zip_static/common/custom_ramdisk_patch.sh
zip_static/META-INF/com/google/android/update-binary
# Leave all busybox!
...
...
build.cmd
View file @
298f0940
...
...
@@ -53,11 +53,11 @@ EXIT /B %ERRORLEVEL%
ECHO ************************
ECHO * Copying binaries
ECHO ************************
COPY /Y libs\armeabi\* zip_static\arm
COPY /Y libs\armeabi
-v7a
\* zip_static\arm
COPY /Y libs\arm64-v8a\* zip_static\arm64
COPY /Y libs\x86\* zip_static\x86
COPY /Y libs\x86_64\* zip_static\x64
CALL :mkcp libs\armeabi\bootimgtools uninstaller\arm
CALL :mkcp libs\armeabi
-v7a
\bootimgtools uninstaller\arm
CALL :mkcp libs\arm64-v8a\bootimgtools uninstaller\arm64
CALL :mkcp libs\x86\bootimgtools uninstaller\x86
CALL :mkcp libs\x86_64\bootimgtools uninstaller\x64
...
...
@@ -75,6 +75,8 @@ EXIT /B %ERRORLEVEL%
forfiles /P zip_static\x64 /C "cmd /C IF NOT @file == \"busybox\" DEL @file"
2>NUL DEL zip_static\META-INF\com\google\android\update-binary
2>NUL DEL zip_static\common\custom_ramdisk_patch.sh
2>NUL DEL zip_static\common\magisksu.sh
2>NUL DEL zip_static\common\init.magisk.rc
2>NUL DEL zip_static\common\magic_mask.sh
2>NUL RMDIR /S /Q uninstaller\arm
2>NUL RMDIR /S /Q uninstaller\arm64
...
...
@@ -100,6 +102,8 @@ EXIT /B %ERRORLEVEL%
ECHO * Zipping Magisk v%~1
ECHO ************************
COPY /Y scripts\custom_ramdisk_patch.sh zip_static\common\custom_ramdisk_patch.sh
COPY /Y scripts\magisksu.sh zip_static\common\magisksu.sh
COPY /Y scripts\init.magisk.rc zip_static\common\init.magisk.rc
CD zip_static
2>NUL DEL "..\Magisk-v%~1.zip"
..\ziptools\win_bin\zip "..\Magisk-v%~1.zip" -r .
...
...
build.sh
View file @
298f0940
...
...
@@ -26,6 +26,8 @@ cleanup() {
ls
zip_static/x64/
*
|
grep
-v
"busybox"
| xargs
rm
-rfv
rm
-rfv
zip_static/META-INF/com/google/android/update-binary
rm
-rfv
zip_static/common/custom_ramdisk_patch.sh
rm
-rfv
zip_static/common/magisksu.sh
rm
-rfv
zip_static/common/init.magisk.rc
rm
-rfv
zip_static/common/magic_mask.sh
rm
-rfv
uninstaller/arm
rm
-rfv
uninstaller/arm64
...
...
@@ -52,8 +54,8 @@ build_bin() {
echo
"************************"
echo
"* Copying binaries"
echo
"************************"
mkcp
"libs/armeabi/*"
zip_static/arm
mkcp libs/armeabi/bootimgtools uninstaller/arm
mkcp
"libs/armeabi
-v7a
/*"
zip_static/arm
mkcp libs/armeabi
-v7a
/bootimgtools uninstaller/arm
mkcp
"libs/arm64-v8a/*"
zip_static/arm64
mkcp libs/arm64-v8a/bootimgtools uninstaller/arm64
mkcp
"libs/x86/*"
zip_static/x86
...
...
@@ -73,6 +75,8 @@ zip_package() {
echo
"* Zipping Magisk v
$1
"
echo
"************************"
cp
-afv
scripts/custom_ramdisk_patch.sh zip_static/common/custom_ramdisk_patch.sh
cp
-afv
scripts/magisksu.sh zip_static/common/magisksu.sh
cp
-afv
scripts/init.magisk.rc zip_static/common/init.magisk.rc
cd
zip_static
find
.
-type
f
-exec
chmod
644
{}
\;
find
.
-type
d
-exec
chmod
755
{}
\;
...
...
scripts/custom_ramdisk_patch.sh
View file @
298f0940
#!/system/bin/sh
RAMDISK
=
$1
BINDIR
=
$2
[
-z
$BINDIR
]
&&
BINDIR
=
/data/magisk
BINDIR
=
/data/magisk
[
!
-e
$BINDIR
]
&&
BINDIR
=
/cache/data_bin
[
!
-e
$BINDIR
]
&&
exit
SYSTEMLIB
=
/system/lib
[
-d
/system/lib64
]
&&
SYSTEMLIB
=
/system/lib64
...
...
scripts/flash_script.sh
View file @
298f0940
...
...
@@ -321,25 +321,25 @@ ui_print "- Constructing environment"
if
(
is_mounted /data
)
;
then
rm
-rf
/data/busybox /data/magisk 2>/dev/null
mkdir
-p
/data/busybox
cp
-af
$BINDIR
/data/magisk
cp
-af
$INSTALLER
/common/init.magisk.rc
$INSTALLER
/common/magic_mask.sh /data/magisk
mkdir
-p
/data/busybox
/data/magisk
cp
-af
$BINDIR
/busybox
$BINDIR
/sepolicy-inject
$BINDIR
/resetprop
\
$INSTALLER
/common/init.magisk.rc
$INSTALLER
/common/magic_mask.sh /data/magisk
cp
-af
$INSTALLER
/common/magisk.apk /data/magisk.apk
/data/magisk/busybox
--install
-s
/data/busybox
ln
-s
/data/magisk/busybox /data/busybox/busybox
# Prevent issues
rm
-f
/data/busybox/su /data/busybox/sh /data/busybox/reboot
chcon
-hR
"u:object_r:system_file:s0"
/data/magisk /data/busybox
chcon
-hR
u:object_r:system_file:s0
/data/magisk /data/busybox
chmod
-R
755 /data/magisk /data/busybox
PATH
=
/data/busybox:
$PATH
BINDIR
=
/data/magisk
# PATH=/data/busybox:$PATH
else
rm
-rf
/cache/data_bin 2>/dev/null
cp
-af
$BINDIR
/cache/data_bin
cp
-af
$INSTALLER
/common/init.magisk.rc
$INSTALLER
/common/magic_mask.sh /cache/data_bin
mkdir
-p
/cache/data_bin
cp
-af
$BINDIR
/busybox
$BINDIR
/sepolicy-inject
$BINDIR
/resetprop
\
$INSTALLER
/common/custom_ramdisk_patch.sh
$INSTALLER
/common/init.magisk.rc
\
$INSTALLER
/common/magic_mask.sh /cache/data_bin
cp
-af
$INSTALLER
/common/magisk.apk /cache/magisk.apk
chmod
-R
755 /cache/data_bin
BINDIR
=
/cache/data_bin
fi
##########################################################################################
...
...
@@ -370,8 +370,11 @@ if (! is_mounted /magisk); then
fi
MAGISKLOOP
=
$LOOPDEVICE
mkdir
-p
/magisk/.core/magiskhide 2>/dev/null
cp
-af
$INSTALLER
/common/magiskhide/. /magisk/.core/magiskhide
# Core folders and scripts
mkdir
-p
$COREDIR
/magiskhide
$COREDIR
/postfsdata.d
$COREDIR
/service.d 2>/dev/null
cp
-af
$INSTALLER
/common/magiskhide/.
$BINDIR
/magiskhide
$COREDIR
/magiskhide
chmod
-R
755
$COREDIR
/magiskhide
$COREDIR
/postfsdata.d
$COREDIR
/service.d
chown
-R
0.0
$COREDIR
/magiskhide
$COREDIR
/postfsdata.d
$COREDIR
/service.d
##########################################################################################
# Boot image patch
...
...
@@ -434,7 +437,7 @@ if ($SUPERSU); then
fi
rm
-f
$TMPDIR
/boottmp/stock_boot.img
$UNPACKDIR
/ramdisk.orig.gz
$UNPACKDIR
/ramdisk.gz 2>/dev/null
ui_print
"- Patching ramdisk with sukernel"
sh /data/custom_ramdisk_patch.sh
$UNPACKDIR
/ramdisk
$BINDIR
sh /data/custom_ramdisk_patch.sh
$UNPACKDIR
/ramdisk
LD_LIBRARY_PATH
=
$SYSTEMLIB
/su/bin/sukernel
--cpio-backup
$UNPACKDIR
/ramdisk.orig
$UNPACKDIR
/ramdisk
$UNPACKDIR
/ramdisk
gzip
-9
<
$UNPACKDIR
/ramdisk
>
$UNPACKDIR
/ramdisk.gz
rm
-f
$UNPACKDIR
/ramdisk
$UNPACKDIR
/ramdisk.orig
...
...
@@ -481,24 +484,13 @@ else
fi
fi
# Root
ROOT
=
false
if
[
!
-d
/magisk/phh
]
;
then
ui_print
"- Installing phh's SuperUser"
ROOT
=
true
elif
[
`
grep_prop versionCode /magisk/phh/module.prop
`
-lt
`
grep_prop versionCode
$INSTALLER
/common/phh/module.prop
`
]
;
then
ui_print
"- Upgrading phh's SuperUser"
ROOT
=
true
fi
if
(
$ROOT
)
;
then
mkdir
-p
/magisk/phh/bin 2>/dev/null
mkdir
-p
/magisk/phh/su.d 2>/dev/null
cp
-af
$INSTALLER
/common/phh/. /magisk/phh
cp
-af
$BINDIR
/su
$BINDIR
/sepolicy-inject /magisk/phh/bin
chmod
-R
755 /magisk/phh
chown
-R
0.0 /magisk/phh
fi
# MagiskSU
ui_print
"- Installing MagiskSU"
rm
-rf
$COREDIR
/su 2>/dev/null
mkdir
-p
$COREDIR
/su
cp
-af
$BINDIR
/su
$INSTALLER
/common/magisksu.sh
$COREDIR
/su
chmod
-R
755
$COREDIR
/su
chown
-R
0.0
$COREDIR
/su
# Patch ramdisk
ui_print
"- Patching ramdisk"
...
...
@@ -544,6 +536,7 @@ else
chmod
0755 magisk
chmod
0750 init.magisk.rc sbin/magic_mask.sh
chown
0.0 magisk init.magisk.rc sbin/magic_mask.sh
fi
ui_print
"- Repacking boot image"
...
...
zip_static/common
/init.magisk.rc
→
scripts
/init.magisk.rc
View file @
298f0940
File moved
scripts/magic_mask.sh
View file @
298f0940
...
...
@@ -266,12 +266,13 @@ case $1 in
# Don't run twice
if
[
"
`
getprop magisk.restart_pfsd
`
"
!=
"1"
]
;
then
export
OLDPATH
=
$PATH
export
PATH
=
$TOOLPATH
:
$OLDPATH
log_print
"** Magisk post-fs-data mode running..."
# Cache support
mv
/cache/stock_boot.img /data/stock_boot.img 2>/dev/null
mv
/cache/magisk.apk /data/magisk.apk 2>/dev/null
mv
/cache/custom_ramdisk_patch.sh /data/custom_ramdisk_patch.sh 2>/dev/null
if
[
-d
"/cache/data_bin"
]
;
then
rm
-rf
$BINPATH
$TOOLPATH
mkdir
-p
$TOOLPATH
...
...
@@ -282,17 +283,16 @@ case $1 in
rm
-f
$TOOLPATH
/su
$TOOLPATH
/sh
$TOOLPATH
/reboot
fi
mv
/cache/stock_boot.img /data/stock_boot.img 2>/dev/null
mv
/cache/magisk.apk /data/magisk.apk 2>/dev/null
# Live patch sepolicy
$BINPATH
/sepolicy-inject
--live
# Set up environment
export
OLDPATH
=
$PATH
export
PATH
=
$TOOLPATH
:
$OLDPATH
chmod
-R
755
$BINPATH
$TOOLPATH
chown
-R
0.0
$BINPATH
$TOOLPATH
find
$BINPATH
$TOOLPATH
-exec
chcon
-h
u:object_r:system_file:s0
{}
\;
# Live patch sepolicy
$BINPATH
/sepolicy-inject
--live
-s
su
# Multirom functions should go here, not available right now
MULTIROM
=
false
...
...
@@ -314,9 +314,9 @@ case $1 in
# Remove empty directories, legacy paths, symlinks, old temporary images
find
$MOUNTPOINT
-type
d
-depth
!
-path
"*core*"
-exec
rmdir
{}
\;
2>/dev/null
rm
-rf
$MOUNTPOINT
/zzsupersu
$COREDIR
/bin
$COREDIR
/dummy
$COREDIR
/mirror /data/magisk/
*
.img 2>/dev/null
rm
-rf
$MOUNTPOINT
/zzsupersu
$
MOUNTPOINT
/phh
$
COREDIR
/bin
$COREDIR
/dummy
$COREDIR
/mirror /data/magisk/
*
.img 2>/dev/null
# Remove modules that
is
labeled to be removed
# Remove modules that
are
labeled to be removed
for
MOD
in
$MOUNTPOINT
/
*
;
do
rm
-f
$MOD
/system/placeholder 2>/dev/null
if
[
-f
$MOD
/remove
]
;
then
...
...
@@ -342,13 +342,10 @@ case $1 in
fi
fi
log_print
"* Preparing modules"
# Start MagiskSU if no SuperSU
[
!
-f
/sbin/launch_daemonsu.sh
]
&&
sh
$COREDIR
/su/magisksu.sh
# Disable phh and Magisk Hide for SuperSU
if
[
-f
/sbin/launch_daemonsu.sh
]
;
then
touch
/magisk/phh/disable 2>/dev/null
rm
-f
$COREDIR
/magiskhide/enable 2>/dev/null
fi
log_print
"* Preparing modules"
mkdir
-p
$DUMMDIR
mkdir
-p
$MIRRDIR
/system
...
...
zip_static/common/phh/service
.sh
→
scripts/magisksu
.sh
View file @
298f0940
#!/system/bin/sh
LOGFILE
=
/cache/magisk.log
MODDIR
=
${
0
%/*
}
LOGFILE
=
/cache/magisk.log
PATH
=
$OLDPATH
log_print
()
{
echo
$1
echo
"
phh
:
$1
"
>>
$LOGFILE
log
-p
i
-t
phh
"
$1
"
echo
"MagiskSU:
$1
"
echo
"
MagiskSU
:
$1
"
>>
$LOGFILE
log
-p
i
-t
Magisk
"MagiskSU:
$1
"
}
# Disable the other root
[
-d
"/magisk/zzsupersu"
]
&&
touch
/magisk/zzsupersu/disable
log_print
"Live patching sepolicy"
$MODDIR
/bin/sepolicy-inject
--live
log_print
"Moving and linking /sbin binaries"
mount
-o
rw,remount rootfs /
mv
/sbin /sbin_orig
mkdir
/sbin
chmod
755 /sbin
ln
-s
/sbin_orig/
*
/sbin
/data/busybox/cp
-afc
/sbin /sbin_orig
mount
-o
ro,remount rootfs /
# Expose the root path
log_print
"Mounting supath"
log_print
"Exposing su binary"
rm
-rf
/magisk/.core/bin
$MODDIR
/sbin_bind
mkdir
-p
$MODDIR
/sbin_bind
/data/busybox/cp
-afc
/sbin/.
$MODDIR
/sbin_bind
ln
-s
/sbin_orig/
*
$MODDIR
/sbin_bind
chcon
-h
u:object_r:rootfs:s0
$MODDIR
/sbin_bind/
*
chmod
755
$MODDIR
/sbin_bind
ln
-s
$MODDIR
/
bin/
*
$MODDIR
/sbin_bind
ln
-s
$MODDIR
/
su
$MODDIR
/sbin_bind/su
mount
-o
bind
$MODDIR
/sbin_bind /sbin
# Run su.d
for
script
in
$MODDIR
/su.d/
*
;
do
if
[
-f
"
$script
"
]
;
then
chmod
755
$script
log_print
"su.d:
$script
"
sh
$script
fi
done
log_print
"Starting su daemon"
[
!
-z
$OLDPATH
]
&&
export
PATH
=
$OLDPATH
/sbin/su
--daemon
zip_static/common/phh/module.prop
deleted
100644 → 0
View file @
d4149d4b
id=phh
name=phh's SuperUser
version=topjohnwu r2
versionCode=7
author=phhusson & topjohnwu
description=OpenSource SELinux-capable SuperUser
support=http://forum.xda-developers.com/showthread.php?t=3216394
donate=http://forum.xda-developers.com/donatetome.php?u=1915408
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