#!/sbin/sh
#by：Han | 情非得已c 


umask 022
OUTFD=$2
ZIPFILE=$3
id=Hide_system_ROOT
name=隐藏系统ROOT
version=v1.6
versionCode=6
author='by：Han | 情非得已c'
Modules_Dir=/data/adb/modules
MODPATH=$Modules_Dir/$id
MODPROP=$MODPATH/module.prop
Module_S2=$MODPATH/service.sh


[ -z $BOOTMODE ] && ps | grep zygote | grep -qv grep && BOOTMODE=true
[ -z $BOOTMODE ] && ps -A 2>/dev/null | grep zygote | grep -qv grep && BOOTMODE=true
[ -z $BOOTMODE ] && BOOTMODE=false


Clean() {
   rm -rf $MODPATH
   mkdir -p $MODPATH
}

ui_print() {
   if $BOOTMODE; then
      echo "$@"
   else
      echo "ui_print "$@"" > /proc/self/fd/$OUTFD
   fi
}

abort() {
   ui_print "$@"
   sleep 3
   exit 1
}


! $BOOTMODE && abort "！不支持从recovery模式中安装"
a=0
for i in `which -a su`; do
echo $i
$i --help | grep -qw MagiskSU && continue
a=1
done

[[ $a -eq 0 ]] && abort "！您的系统只存在Magisk su未存在其它su文件"
ui_print "- 开始安装 $name-$version($versionCode)"
ui_print "- 安装目录：$MODPATH"
ui_print "- 模块作者：$author"
ui_print "- Powered by Magisk & topjohnwu"

Clean

echo '#!/system/bin/sh


MODDIR=${0%/*}' >$Module_S2

for i in `which -a su`; do
$i --help | grep -qw MagiskSU && continue

dir=`dirname $i`
mkdir -p $MODPATH/mirror$dir
cp -af $dir/. $MODPATH/mirror$dir
echo "mount --bind \$MODDIR/mirror$dir $dir" >>$Module_S2
done

find $MODPATH -name "su" -exec rm -f {} \;
cat <<Han >$MODPROP
id=$id
name=$name
version=$version
versionCode=$versionCode
author=$author
description=隐藏系统的ROOT，只保留magisk su，因为系统ROOT的存在会让Magisk Hide失效，导致部分应用仍然会检测到ROOT，且部分机型会存在Magisk掉ROOT的情况
Han

test -f $MODPROP && ui_print "- $name 模块安装完成" || abort "！$name 模块安装失败"
exit 0
