آپدیتهای OTA یا Over The Air اندروید،
روت را پاک میکنند و شما مجبور خواهید بود در صورت وابستگی به برنامه هایی
که برای استفاده حتما نیاز به روت شدن دارند، دوباره دستگاه را روت کنید.
البته راههایی برای حفظ این دسترسی روت وجود دارد و روت مجدد روی برخی
دستگاهها به نسبت آسانتر خواهد شد.
این امر روی دیوایسهای Nexus که آپدیتها
را به طور مستقیم از گوگل دریافت میکند میتواند بسیار آزاردهنده
باشد. حال آن که بر روی یک دیوایس قدیمی که هیچ گاه آپدیتهای اندروید را
دریافت نمیکند این به ذهن هم نمیآید.
چرا روت را از دست میدهیم؟
به گزارش سافت گذر به نقل ازبرسام؛ اندروید بر پایه لینوکس است، پس اندروید
دیوایسها، یک کاربر روت دارند که که مثل حساب کاربری ادمین ویندوز عمل می
کند. به صورت پیش فرض اندروید به شما اجازه دسترسی به این حساب کاربری روت
را نمی دهد. روت کردن در واقع پروسه فعال سازی دسترسی به این حساب روت توسط
نصب su binary است. برنامهها می توانند با صدا زدن su به امتیازات بیشتری
دست پیدا کنند، بدین معنی که میتوانند از بند sandbox امنیتی اندروید رها
شده و کارهای بیشتری انجام دهند. اندروید به صورت روت شده عرضه نمیشود
زیرا این امر مشکلات امنیتی به همراه خواهد داشت، به خصوص برای کاربرانی که
اطلاعات فنی کمتری دارند.
پروسه روت کردن هم چنین نرم افزاری مانند
SuperSU یا Superuser را نصب میکند. این برنامه دسترسی به su binary را
کنترل میکند و شما به واسطه آن میتوانید تعیین کنید که کدام برنامهها
میتوانند دسترسی روت داشته باشند.
معمولا با نصب آپدیت برای سیستم عامل،
دسترسی روت را از دست خواهید داد. آپدیت های OTA قسمت بندی سیستم اندروید
شما را به حالت کارخانهای برمیگرداند و su binary را پاک میکند.
اگر شما بر روی دستگاه خود Xposed
Framework را نصب دارید، قبل از نصب آپدیت OTA آن را پاک کنید زیرا در غیر
این صورت با پیغام خطای زیر مواجه شده و به روز رسانی نصب نخواهد شد.
حالت بقای SuperSU
یک سری حقه برای نگه داشتن دسترسی روت بعد
از بهروزرسانی وجود دارند که البته بی عیب و نقص هم نیستند. مثلا ممکن
است فقط برای آپدیتهای جزئی عمل کنند و اگرچه این حقه ها برای نسخههای
گذشته عمل میکردند اما الزامی ندارد بر روی نسخه های آینده اندروید هم
جواب بدهند. به عبارت دیگر ممکن است بتوانید روت را بعد از آپدیت نگه دارید
اما زیاد روی آن حساب باز نکنید.
برای مثال SuperSU یک گزینه حالت بقا
“Survival mode” دارد، شما میتوانید آن را قبل از نصب آپدیت OTA فعال
کنید. البته برای این کار به نسخه تجاری SuperSU به نام SuperSU Pro نیاز
دارید که ۲.۴۹ دلار برایتان خرج برمیدارد و هیچ ضمانتی هم نیست که عمل
کند!
OTA RootKeeper یک نرم افزار رایگان است که کاری مشابه انجام میداد اما دیگر برای نسخه ۴.۳ و آپدیتهای بالاتر آن عمل نمیکند.
خب ما کنجکاو شدیم ببینیم واقعا بازدهی
این روش چقدر است، بنابراین SuperSU Pro را خریداری کرده و آن را روی یک
Nexus 4 روت شده با نسخه اندروید ۴.۴.۳ نصب کردیم. سپس حالت بقا را فعال
کرده و آپدیت OTA اندروید نسخه ۴.۴.۴ را روی آن نصب کردیم. آپدیپ به صورت
نرمال نصب شد. پس از آن دستگاه ما همچنان روت باقی مانده بود، موفق شدیم!
بله حالت بقا عمل کرد، اما باید به این
نکته دقت داشت که نسخه ۴.۴.۴ اندروید یک آپدیت جزئی به حساب میآید. احتمال
اینکه این روش با یک آپدیت سنگین تر کار نمیکرد وجود دارد. ممکن است نسخه
های آتی اندروید پروسه آپدیت کردن را عوض کنند و به کلی این روش را بیاثر
سازند (دقیقا همان اتفاقی که برای OTA Rootkeeper افتاد) بنابراین ممکن
است هرگز دیگر عمل نکند. همان طور که در صفحه SuperSU Pro در Google Play
هشدار داده شده است که هیچ تضمینی وجود ندارد!
سه راه برای روت کردن
از دست دادن روت روی برخی دیوایسها نسبت
به سایرین مساله جدیتری است. سه راه متفاوت برای روت کردن یک دستگاه با
سیستم عامل اندروید وجود دارد.
باز کردن قفل Bootloader : گوگل و
سازندگان دستگاههای اندروید به صورت رسمی روت را پشتیبانی نمیکنند، اما
یک راه رسمی برای به دست آوردن دسترسی سطح پایین در بعضی دستگاهها ارائه
کردهاند. برای مثال دستگاههای Nexus برای توسعه دهندگان در نظر گرفته
شده است و شما میتوانید به راحتی با یک دستور ساده Bootloader را آنلاک
کنید. سپس به راحتی میتوانید فایل .zip حاوی su binary را از صفحه
بازیابی، به دیوایس خود فلش کنید. ابزارهایی مانند Nexus Root Toolkit برای
دیوایسهای Nexus، این پروسه را اتوماتیک میکند. سایر سازندگان نیز
راههایی برای باز کردن قفل Bootloader ارائه داده اند اما فقط برای
دستگاههای به خصوص.
استفاده از آسیب پذیری امنیتی : برخی از
دیوایسها فقل هستند و سازندگان آنها هیچ راه حل رسمیای برای باز کردن
قفل Bootloader آنها ارائه نکردهاند. با این حال این دستگاهها همچنان
قابل روت شدن هستند، اما تنها با پیدا کردن یک شکاف امنیتی روی دستگاه و
استفاده از آن برای نصب su binary. یک آپدیت OTA ممکن است شکاف امنیتی را
درست مانند از روت درآوردن آن اصلاح کند. برای مثال یک جایزه ۱۸۰۰۰ دلاری
برای اولین کسی که بتواند یک گلکسی اس ۵ سامسونگ در حال اجرا روی Verizon
یا AT&T را روت کند درنظر گرفته شده بود! یک شکاف امنیتی پیدا شد اما
آپدیتهای بعدی توانست جلوی آن را بگیرد و امکان روت شدن گلکسی اس ۵ را از
بین برد.
فلش کردن CyanogenMod یا هر رام دلخواه
دیگر : رام های custom مانند CyanogenMod معمولا به صورت از پیش روت شده
عرضه میشوند. CyanogenMod دارای یک گزینه روی صفحه تنظیمات خود است که این
اجازه را میدهد تا دسترسی روت را فعال یا غیرفعال کنید. آپگرید کردن به
نسخههای بالاتر CyanogenMod یا هر رام دیگری دستگاه شما را از روت خارج
نمیکند، البته اگر رام قابلیت فعالسازی روت به صورت ادغامی را داشته
باشد.
دوباره روت کردن چقدر سخت است؟
بر روی یک دستگاه که Bootloader آن از
حالت قفل خارج شده است و اجازه دستکاری نرم افزارش را به شما میدهد (مثل
دیوایسهای Nexus) از روت درآوردن دستگاه کمترین زحمتی ندارد. تنها کاری که
باید انجام بدهید این است که دستگاه اندروید خود را بعد از آپدیت OTA به
کامپیوتر متصل کرده و دقیقا از طریقی که قبلا آن را روت کرده اید مجددا روت
کنید. برای مثال میتوانید Nexus Root Toolkit را اجرا کنید یا آن را به
صورت دستی با adb روت کنید.
بر روی یک دستگاه قفل شده که اتها با
استفاده از شکاف امنیتی قابل روت کردن است، شاید بهتر باشد در نصب هرگونه
آپدیت OTA تجدید نظر کنید. قبل از نصب آپدیت، چک کنید که آیا برای نسخه
جدید راهی برای روت کردن وجود دارد یا خیر. اگر هیچ راهی وجود نداشت بهتر
است تا یافتن شکاف امنیتی دیگر دست نگه دارید. البته واضح است که اگر روت
شدن اهمیتی برایتان ندارد هیچ مشکلی برای آپدیت کردن وجود ندارد.
اگر تمایل ندارید هر بار بعد از آپدیت
کردن دستگاه را مجددا روت کنید، میتوانید یک رام دلخواه مانند CyanogenMod
با قابلیت دسترسی روت ادغامی را روی دستگاه خود داشته باشید.
از دست دادن روت میتواند یک مساله بسیار
جزئی باشد که تنها دو دقیقه از وقت شما را بگیرد، یا میتواند هفتهها و
ماهها شما را کلافه کند. این بستگی به روش روت کردن و هم چنین دستگاه شما
دارد.