Ejemplo n.º 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);
        }
Ejemplo n.º 2
0
 public static Boolean IsRooted()
 {
     try {
         Java.Lang.Process        su    = Java.Lang.Runtime.GetRuntime().Exec("su");
         Java.IO.DataOutputStream outSu = new Java.IO.DataOutputStream(su.OutputStream);
         outSu.WriteBytes("exit\n");
         outSu.Flush();
         su.WaitFor();
         return(su.ExitValue() == 0);
     } catch (Java.Lang.Exception) {
         return(false);
     }
 }
Ejemplo n.º 3
0
		public static Boolean IsRooted ()
		{
			try {
				Java.Lang.Process su = Java.Lang.Runtime.GetRuntime ().Exec ("su");
				Java.IO.DataOutputStream outSu = new Java.IO.DataOutputStream (su.OutputStream);
				outSu.WriteBytes ("exit\n");
				outSu.Flush ();
				su.WaitFor ();
				return su.ExitValue () == 0;
			} catch (Java.Lang.Exception) {
				return false;
			}
		}
Ejemplo n.º 4
0
 public void Command(string cmd)
 {
     outP.WriteBytes(cmd + "\n");
     outP.Flush();
 }