Exemple #1
0
        public static bool IsRooted()
        {
            bool retval = false;

            Java.Lang.Process suProcess;
            try
            {
                suProcess = Runtime.GetRuntime().Exec("su");
                var os    = new Java.IO.DataOutputStream(suProcess.OutputStream);
                var osRes = new Java.IO.DataInputStream(suProcess.InputStream);
                if (null != os && null != osRes)
                {
                    os.WriteBytes("id\n");
                    os.Flush();
                    string currUid = osRes.ReadLine();
                    bool   exitSu  = false;
                    if (null == currUid)
                    {
                        retval = false;
                        exitSu = false;
                        System.Console.WriteLine("Can't get root access or denied by user");
                    }
                    else if (true == currUid.Contains("uid=0"))
                    {
                        retval = true;
                        exitSu = true;
                        System.Console.WriteLine("Root access granted");
                    }
                    else
                    {
                        retval = false;
                        exitSu = true;
                        System.Console.WriteLine("Root access rejected: " + currUid);
                    }

                    if (exitSu)
                    {
                        os.WriteBytes("exit\n");
                        os.Flush();
                    }
                }
            }
            catch (Java.Lang.Exception e)
            {
                retval = false;
                System.Console.WriteLine("Root access rejected [" + e.Class.Name + "] : " + e.Message);
            }

            return(retval);
        }
		public ProcessHelper ()
		{
			process = Java.Lang.Runtime.GetRuntime ().Exec ("su");
			outP = new Java.IO.DataOutputStream (process.OutputStream);
			inP = new Java.IO.DataInputStream (process.InputStream);
		}
 public ProcessHelper()
 {
     process = Java.Lang.Runtime.GetRuntime().Exec("su");
     outP    = new Java.IO.DataOutputStream(process.OutputStream);
     inP     = new Java.IO.DataInputStream(process.InputStream);
 }