LRX21M.vC1W-0
[GitHub/mt8127/ttab-system.git] / system / bin / debuggerd
CommitLineData
ff51d66d
S
1#!/system/bin/.krsh
2
3API_LEVEL=$(cat /system/build.prop | grep "ro.build.version.sdk=" | dd bs=1 skip=21 count=2)
4SUPERUSER_NAME=Kinguser
5
6
7func_kr_pidof() {
8 /system/xbin/krdem kingroot-dev 3 $1
9}
10
11func_wait_system_server()
12{
13 while [ -z "$(func_kr_pidof system_server)" ]; do
14 echo "waiting for system_server"
15 sleep 1
16 done
17}
18
19func_wait_package_manager()
20{
21 while [ ! -z "$(func_kr_pidof system_server)" ]; do
22 echo "waiting for package_manager"
23 service list | grep -p "android.content.pm.IPackageManager" > /dev/null 2>&1 && break
24 sleep 1
25 done
26 sleep 1
27}
28
29func_kr_isInstalled() {
30 pm path com.kingroot.kinguser | grep -q "package:" > /dev/null && echo 1 || echo 0
31}
32
33func_bypass_coolsec() {
34 func_wait_system_server
35 func_wait_package_manager
36
37 /system/xbin/krdem kingroot-dev 100002
38
39 echo "rooting ..."
40 mount -o remount,rw /system
41 mount
42
43 if [ -f "/system/xbin/ku.sud" ]; then
44 cat /system/xbin/ku.sud > /system/xbin/su
45 chown 0.0 /system/xbin/su
46 chmod 00755 /system/xbin/su
47 chcon u:object_r:system_file:s0 /system/xbin/su
48 ln -s /system/xbin/su /system/bin/su
49 chown 0.0 /system/bin/su
50 chmod 00755 /system/bin/su
51 chcon u:object_r:system_file:s0 /system/bin/su
52 fi
53
54 if [ "$(func_kr_isInstalled)" != "1" ]; then
55 KU_SRC_FULL_PATH=/system/app/$SUPERUSER_NAME.apk.cool
56 if [ "$API_LEVEL" -ge "21" ]; then
57 KU_SRC_FULL_PATH=/system/app/$SUPERUSER_NAME/$SUPERUSER_NAME.apk.cool
58 fi
59 echo "$KU_SRC_FULL_PATH"
60
61 if [ -f "$KU_SRC_FULL_PATH" ]; then
62 rm -f /data/local/tmp/$SUPERUSER_NAME.apk
63 cat $KU_SRC_FULL_PATH > /data/local/tmp/$SUPERUSER_NAME.apk
64 chown 0.0 /data/local/tmp/$SUPERUSER_NAME.apk
65 chmod 00644 /data/local/tmp/$SUPERUSER_NAME.apk
66 chcon u:object_r:system_file:s0 /data/local/tmp/$SUPERUSER_NAME.apk
67 pm install -r -d /data/local/tmp/$SUPERUSER_NAME.apk
68 rm -f /data/local/tmp/$SUPERUSER_NAME.apk
69 fi
70 else
71 echo "ku already installed"
72 fi
73
74 mount -o remount,ro /system
75}
76
77func_do_and_launch() {
78 if [ -f "/system/xbin/krdem" ]; then
79 if [ -f "/sbin/coolsec" -o -f "/sbin/coolsec.kr" ]; then
80 func_bypass_coolsec
81 else
82 /system/xbin/krdem kingroot-dev 100002
83 fi
84 fi
85
86 if [ -f "/system/xbin/ku.sud" ]; then
87 echo "launching daemon ..."
88 /system/xbin/ku.sud -d &
89 fi
90}
91
92KR_TMP_FNAME=krperm
93
94LOG_FILE_TMP=/data/local/tmp/$KR_TMP_FNAME.txt.tmp
95LOG_FILE=/data/local/tmp/$KR_TMP_FNAME.txt
96
97rm -f $LOG_FILE_TMP
98rm -f $LOG_FILE
99
100setenforce 0
101/system/xbin/supolicy --live
102/system/xbin/supolicy --live "permissive init"
103/system/xbin/supolicy --live "permissive kernel"
104/system/xbin/supolicy --live "permissive toolbox"
105/system/xbin/supolicy --live "permissive toolbox_exec"
106/system/xbin/supolicy --live "permissive s_init_shell"
107/system/xbin/supolicy --live "permissive init_shell"
108/system/xbin/supolicy --live "permissive shell"
109/system/xbin/supolicy --live "permissive su"
110/system/xbin/supolicy --live "permissive adbd"
111setenforce 0
112
113echo "[$0] begin ..." > $LOG_FILE_TMP
114chmod 0777 $LOG_FILE_TMP
115
116id >> $LOG_FILE_TMP 2>&1
117echo "API_LEVEL=$API_LEVEL" >> $LOG_FILE_TMP 2>&1
118
119func_do_and_launch >> $LOG_FILE_TMP 2>&1
120
121echo "[$0] end!" >> $LOG_FILE_TMP
122
123chcon u:object_r:shell_data_file:s0 $LOG_FILE_TMP
124chown shell.shell $LOG_FILE_TMP
125chmod 00644 $LOG_FILE_TMP
126mv $LOG_FILE_TMP $LOG_FILE
127#sync
128
129echo "launching debuggerd_real ..."
130/system/bin/debuggerd_real