موبایل

اخبار و خواندنی های موبایل | آَشنایی با مفهوم روت کردن دستگاه‌های مبتنی بر اندروید | mobile.ir


واحد نیوز زر موبایل : یکی از مهم‌ترین نقاط قوت اندروید در مقابل دیگر سیستم‌عامل‌های همراه هم‌چون iOS قابلیت شخصی‌سازی و انعطاف‌پذیری آن است. این سیستم‌عامل به جای محدود نمودن تمامی کاربران به چهارچوبی مشخص و یک‌سان، به آن‌ها اجازه می‌دهد تا ظاهر و ساختار کاری این سیستم‌عامل را تا حد زیادی بر اساس سلیقه و نیاز خود دست‌خوش تغییر نمایند. اما اندروید نیز به دلایل مختلفی از جمله حفظ امنیت و کارایی، محدودیت‌های مختلفی را در زمینه ایجاد تغییرات اساسی در سیستم‌عامل و دسترسی به منابع سخت‌افزاری دستگاه اعمال می‌نماید. به همین خاطر گروهی از کاربران برای رفع این محدودیت‌ها و به‌دست آوردن کنترل کامل روی دستگاه خود، اقدام به root نمودن سیستم‌عامل می‌نمایند.

Rooting Android Basics Overview

روت کردن به چه معناست؟

روت(root) کردن به زبان ساده عبارت است از دسترسی یافتن به دستورها، فایل‌های سیستمی و بخش‌هایی از حافظه که در حالت عادی برای کاربران ممنوع است. در واقع کاربر با عملیات روت کردن به مدیر ارشد سیستم‌ بدل شده و به تمام اجزای آن دسترسی کامل می‌یابد. در این حالت کاربر با اختیارات ویژه‌ای که به‌دست می‌آورد، پتانسیل آن را خواهد داشت تا از تمامی محدودیت‌های سیستم‌عامل عبور نموده و آن را به دل‌خواه خود شخصی‌سازی نماید. روت کردن به طور معمول با هدف عبور از محدودیت‌های اعمال شده توسط تولیدکننده‌ دستگاه و اپراتورهای مخابراتی صورت می‌گیرد. پس از روت کردن کاربر قادر خواهد بود اپلیکیشن‌های سیستمی و پیش‌فرض دستگاه را تغییر داده یا حذف نماید، اپلیکیشن‌های خاصی که نیاز به دسترسی‌های مدیریتی دارند را اجرا کند، سیستم‌عامل‌های غیر رسمی و متفرقه را روی دستگاه نصب نموده و فرمان‌های مدیریتی ویژه‌ای را به صورت مستقیم اجرا کند.

همان‌طور که احتمالا می‌دانید سیستم‌عامل اندروید مبتنی بر هسته لینوکس است. تمامی سیستم‌عامل‌های مبتنی بر لینوکس از سیستم فایلی با ساختار درختی بهره می‌برند. دسترسی کاربران عادی به یکی از زیرشاخه‌های این درخت محدود بوده و در نتیجه امکان مشاهده یا ایجاد تغییر در سایر قسمت‌های حافظه برای ایشان وجود ندارد. در این‌گونه سیستم‌عامل‌ها ایجاد تغییرات اساسی در سیستم از طریق ویرایش فایل‌های سیستمی انجام می‌گیرد که دست‌یابی به آن‌ها منوط به در اختیار داشتن دسترسی ریشه (root access) است. با اخذ دسترسی ریشه، کاربر کنترل کامل روی آن سیستم به دست خواهد آورد.

همان‌طور که روت کردن اندروید قدرت و اختیارات کاربر را به میزان قابل توجهی افزایش می‌دهد، به همان نسبت سطح ریسک و مسئولیت وی را نیز بالا می‌برد. بسیاری از محدودیت‌های اعمال شده روی سیستم‌عامل‌های همراه با هدف افزایش امنیت و کارایی سیستم تنظیم گردیده‌اند. با روت کردن سیستم‌عامل و عبور از این محدودیت‌ها، مسئولیت حفظ امنیت و کارایی سیستم بر عهده کاربر قرار می‌گیرد. با به‌دست آوردن دسترسی ریشه، کاربر می‌تواند به ویرایش انواع فایل‌های سیستمی بپردازد. حال آن‌که اعمال تغییرات نادرست یا حذف سهوی این فایل‌ها می‌تواند عملکرد سیستم‌عامل را با مشکلاتی جدی مواجه سازد. علاوه بر این، نصب و اجرای اپلیکیشن‌هایی که نیاز به دسترسی روت یا ریشه دارند با ریسک بسیار بالایی همراه است. چرا که چنین اپلیکیشن‌هایی قادر خواهند بود تا با دریافت دسترسی روت، در پشت پرده عملکرد ظاهری خود به سرقت اطلاعات، تخریب یا سوء استفاده از منابع دستگاه همراه کاربر بپردازند.‌

روت کردن اندروید بسیاری از مواقع با jailbreak (جِیل‌برِیک) کردن دستگاه‌های مبتنی بر سیستم‌عامل iOS شرکت اپل مقایسه می‌شود. درحالی‌که این دو مفهوم را نمی‌توان مشابه یک‌دیگر دانست. Jailbreak کردن عبارت است از دور زدن برخی ممنوعیت‌های اعمال شده توسط شرکت اپل برای کاربران از جمله نصب اپلیکیشن‌های تایید نشده و غیررسمی از طریق sideload کردن، ایجاد تغییر در سیستم‌عامل و اخذ دسترسی‌های ویژه مدیریتی. از این میان تنها آخرین مورد را می‌توان با روت کردن اندروید مقایسه نمود. چرا که دستگاه‌های مبتنی بر اندروید به طور معمول امکان نصب اپلیکیشن‌ از منابع تاییدنشده و غیررسمی را با فعال‌سازی گزینه “Unknown sources” در قسمت تنظیمات یا از طریق فرمان‌های adb فراهم می‌آورند. بنابراین برای نصب اپلیکیشن‌های خارج از فروشگاه رسمی گوگل (Google Play) نیازی به روت کردن اندروید نیست. هم‌چنین بسیاری از تولیدکنندگان هم‌چون گوگل، سونی، HTC، هواوی، ایسوس، وان پلاس و Nokia برای همه یا بخشی از دستگاه‌های همراه اندرویدی خود امکان بازکردن قفل bootloader و نصب سیستم‌عامل‌های شخصی‌سازی شده را به طور رسمی ارائه می‌نمایند. در نتیجه بخشی از کاربران اندروید حتی برای تغییر سیستم‌عامل و نصب ROMهای شخصی‌سازی شده نیز نیازی به روت کردن ندارند.

Rooting Android Basics Overview

مزایای روت کردن اندروید

روت کردن اندروید برای کاربر امکان کنترل کامل ظاهر و عملکرد سیستم‌عامل را فراهم می‌آورد. با دسترسی ریشه (root) کاربر به تمامی فایل‌های سیستمی دستگاه دسترسی یافته و امکان شخصی‌سازی تمامی جنبه‌های سیستم‌عامل را خواهد داشت. در این حالت سطح دانش و تجربه کاربر در برنامه‌نویسی و مهارت وی در کار با لینوکس است که سطح شخصی‌سازی و توانایی کنترل اجزای مختلف سیستم را تعیین خواهد نمود. در صورت آشنایی نداشتن کاربر با برنامه‌نویسی، مزایای حاصل از روت کردن اندروید برای وی محدود به شخصی‌سازی‌ها و ابزارهای مختلفی خواهد بود که توسط توسعه‌دهندگان مختلف در منابعی هم‌چون XDA Developers منتشر می‌شوند. برخی از مزایای مشخص و مستقیم روت کردن اندروید در ادامه مورد اشاره قرار گرفته‌اند.

• کنترل کامل روی اپلیکیشن‌ها: یکی از مهم‌ترین مزایای روت کردن اندروید، به دست آوردن کنترل کامل روی اپلیکیشن‌های نصب شده است. در حالت روت کاربر قادر خواهد بود تا تمامی اپلیکیشن‌ها را به صورت تکی یا گروهی نصب، حذف یا ویرایش نماید. به این ترتیب رهایی از شر اپلیکیشن‌های از پیش ‌نصب‌شده توسط تولیدکنندگان و اپراتورها – که به اصطلاح bloatware خوانده می‌شوند — امکان‌پذیر خواهد بود. امروزه بسیاری از دستگاه‌های همراه مملو از این گونه اپلیکیشن‌ها هستند که بسیاری از مواقع نیز اصلا مورد استفاده کاربر قرار نگرفته، تنها موجب شلوغ شدن لیست اپلیکیشن‌ها و اشغال بیهوده حافظه دستگاه می‌شوند. پس از روت شدن اندروید کاربر می‌تواند این اپلیکیشن‌ها که در حالت عادی قابل حذف نیستند را به راحتی و برای همیشه از حافظه دستگاه پاک کند. البته بایستی مراقب بود تا حذف این اپلیکیشن‌ها اشکالی در عملکرد دستگاه ایجاد ننماید. لذا بهتر است ابتدا به کمک اپلیکیشنی هم‌چون Titanium Backup اپلیکیشن‌‌های مورد نظر را فریز کرده و در صورتی که مشکل خاصی مشاهده نشد، اقدام به حذف آن‌ها نمود.

• پشتیبان‌گیری کامل و واقعی: اگرچه در حالت عادی می‌توان به کمک حساب کاربری گوگل و دیگر راه‌کارهای ابری، فایل‌های کاربر، بخش‌هایی از تنظیمات دستگاه و داده‌های مربوط به برخی اپلیکیشن‌ها را پشتیبان‌گیری نمود، اما این روش با نواقص و مشکلات متعددی همراه است. در درجه اول این روش‌ها به طور معمول یک پشتیبان‌گیری واقعی محسوب نگردیده، تنها لیستی از اپلیکیشن‌هایی که بایستی دانلود شده و تغییراتی که لازم است در تنظیمات دستگاه انجام گیرد را نگه‌داری می‌نمایند. در درجه دوم این راه‌کارهای پشتیبان‌گیری بسیار ناقص بوده و بخش قابل توجهی از تنظیمات دستگاه، اپلیکیشن‌های سیستمی، داده‌های مختلف و تنظیمات اپلیکیشن‌ها را نمی‌توانند نگه‌داری و بازیابی کنند. در‌حالی‌که پس از روت کردن با دسترسی نامحدود به کل سیستم فایل، پشتیبان‌گیری کامل و واقعی میسر خواهد شد. در این حالت اپلیکیشن‌هایی هم‌چون Titanium Backup قابلیت پشتیبان‌گیری کامل از تمامی داده‌ها و اپلیکیشن‌ها را به صورت خودکار و زمان‌بندی شده ارائه می‌نمایند. علاوه بر این، ابزاری هم‌چون ClockwokMod Recovery امکان پشتیبان‌گیری کامل از دستگاه را به گونه‌ای فراهم می‌آورد که حتی اگر به هر دلیل سیستم‌عامل دچار مشکلی اساسی شده و قادر به بوت شدن نبود، بتوان دستگاه را به حالت قبل بازیابی نمود. این ابزار ریکاوری از طریق بوت لودر و با نگاه داشتن ترکیبی از دکمه‌های سخت‌افزاری پیش از بوت شدن سیستم‌عامل قابل دسترس بوده و عملیات خود را خارج از محیط رابط گرافیکی اندروید انجام می‌دهد. از آن‌جا که کاربران به طور معمول پس از روت کردن اندروید اقدام به ایجاد تغییرات مختلف در سیستم‌عامل و نصب رام‌های شخصی‌سازی شده می‌نمایند، استفاده از این نوع روش‌های پشتیبان‌گیری ضروری خواهد بود.

• به‌روزرسانی غیررسمی و نصب رام‌های شخصی‌سازی شده: اغلب تولیدکننده‌های دستگاه‌های همراه در ارائه آخرین نسخه اندروید برای محصولات خود بسیار کند عمل می‌کنند. به طور معمول دستگاه‌های جدید و پرچم‌دار – به استثنای پیکسل‌‌های گوگل — نسخه‌های جدید اندروید را با تاخیری قابل توجه به صورت رسمی از طرف شرکت تولیدکننده دریافت می‌نمایند. اما صاحبان دستگاه‌های قدیمی‌تر اغلب ناچارند قید دریافت رسمی نسخه‌های جدید این سیستم‌عامل را بزنند. راه‌کار اصلی حل این مشکل و دریافت نسخه‌های جدید اندروید، روت کردن دستگاه و نصب یکی رام‌های ارائه شده در منابعی هم‌چون فروم‌های XDA است. به طور معمول برای هر دستگاه همراه کم‌وبیش شناخته شده رام‌های متعدد و متنوعی از طریق اینترنت در دسترس است. از رام‌های مشابه نسخه رسمی با کم‌ترین میزان دست‌کاری توسط توسعه‌دهنده گرفته تا رام‌های کاملا شخصی‌سازی‌ شده با انواع تغییرات در ظاهر و باطن سیستم‌عامل. توسعه‌دهندگان رام‌های شخصی‌سازی شده معمولا سعی می‌کنند تا با حذف bloatwareها، سیستم‌عامل را تمیزتر و سبک‌تر نموده یا آن‌ها را با اپلیکیشن‌هایی کاربردی و پرطرفدار جایگزین نمایند. آن‌ها هم‌چنین با اعمال تغییرات و ترفندهایی تلاش می‌کنند تا رابط‌کاربری سیستم‌عامل را کاربرپسندتر نموده، کارایی کلی و دوام باتری دستگاه را بهبود ببخشند. اگرچه برخی از این دست‌کاری‌ها ممکن است مشکلاتی را در عملکرد و کارایی دستگاه به‌وجود آورد، اما توسعه‌دهندگان با سابقه و شناخته‌شده با ارائه به‌روزرسانی‌های سریع و مکرر همواره سعی می‌کنند تا مشکلات گزارش شده را رفع نموده و رام‌های خود را ارتقا بخشند. به طور کلی برای کاربرانی که علاقه و وقت کافی برای سروکله زدن با دستگاه همراه خود را داشته باشند، دنیای رام‌های شخصی‌سازی شده سرشار خواهد بود از تنوع، جذابیت و هیجان.

• مسدودسازی تبلیغات درون اپلیکیشن‌ها: مسدودسازی تبلیغات آنلاین روی مرورگرهای وب کار نسبتا ساده‌ای است. اما همین کار روی دستگاه‌های همراه پیچیدگی به مراتب بیش‌تری دارد. نمایش ناگهانی ویدئوهای تبلیغاتی در هنگام بازی یا حین استفاده از یک اپلیکیشن کاربردی می‌تواند بسیار آزاردهنده و مشکل‌زا باشد. علاوه بر این‌که مصرف بیهوده ترافیک اینترنت کاربر را به دنبال خواهد داشت. بهترین و کارآمدترین روش برای رهایی از شر این تبلیغات، روت کردن دستگاه و سپس استفاده از اپلیکیشن‌هایی هم‌چون AdFree ،AdBlock Plus یا Ad Away با دسترسی ریشه است. به این ترتیب کاربر قادر خواهد بود تا تبلیغات را برای کل دستگاه یا برای اپلیکیشن‌هایی مشخص مسدود سازد. البته در بسیاری از اپلیکیشن‌ها این امکان وجود دارد تا با پرداخت مبلغی ناچیز از شر تبلیغات آنلاین خلاص شویم. در این موارد چه بهتر است تا با پرداخت این مبالغ از توسعه‌دهندگان اپلیکیشن حمایت نماییم.

• تغییر سرعت پردازنده و دوام باتری: با روت کردن اندروید دسترسی به هسته سیستم‌عامل فراهم گردیده و ایجاد تغییرات در نحوه مدیریت منابع سخت‌افزاری دستگاه امکان‌پذیر می‌گردد. برای افزایش و کاهش سرعت یا به اصطلاح overclock و underclock کردن پردازنده لازم است که پس از روت کردن اندروید، نسخه‌ای از Kernel یا هسته اندروید که از این کار پشتیبانی می‌کند روی دستگاه نصب گردد. پس از آن کاربر می‌تواند از طریق ابزارهای ارائه شده توسط Kernel یا با استفاده از اپلیکیشن‌هایی هم‌چون Kernel Manager و Kernel Adiutor که از Google Play قابل دریافت هستند، فرکانس کاری پردازنده را کاهش یا افزایش دهد. بالا بردن فرکانس کاری پردازنده می‌تواند موجب افزایش کارایی دستگاه گردیده، در عوض افزایش دما و کاهش دوام باتری را به دنبال داشته باشد. برعکس می‌توان با کاهش بیشینه و کمینه فرکانس کاری پردازنده در مصرف شارژ باتری صرفه‌جویی نمود. علاوه بر این، اپلیکیشن‌هایی هم‌چون Greenify می‌توانند با به خواب بردن خودکار اپلیکیشن‌هایی که کاربر به ندرت از آن‌ها استفاده می‌نماید، از اجرای آن‌ها در پس‌زمینه جلوگیری نموده و در نتیجه موجب آزادسازی فضای RAM و کاهش مصرف شارژ باتری شوند.

• آزادسازی حافظه دستگاه: پس از روت شدن دستگاه راه‌کارهای بیش‌تری برای آزادسازی فضای حافظه پیش روی کاربر قرار می‌گیرد. از حذف اپلیکیشن‌های از ‌پیش ‌نصب‌شده بی‌استفاده گرفته تا انتقال اپلیکیشن‌های مختلف از حافظه داخلی دستگاه به کارت حافظه.

• اپلیکیشن‌های ویژه و قدرتمندتر: برخی اپلیکیشن‌ها فقط در دستگاه‌های روت شده قابل استفاده بوده و برخی دیگر در حالت ریشه (root) خدمات بیش‌تری را ارائه می‌نمایند. اپلیکیشن‌های فراوانی ویژه دستگاه‌های روت شده توسعه یافته‌اند، از جمله Titanium Backup برای پشتیبان‌گیری کامل و پیشرفته از دستگاه، Greenify برای افزایش دوام باتری، Apps2SD برای انتقال اپلیکیشن‌ها به کارت حافظه، Kernel Manager برای دست‌کاری هسته سیستم‌عامل، Magisk برای مخفی‌ کردن ماهیت روت بودن دستگاه و Tasker برای مدیریت پیشرفته دستگاه همراه و واگذاری وظایف مختلف به آن. اپلیکیشن‌های مرورگر فایل در حالت ریشه دسترسی به تمامی نقاط حافظه دستگاه را برای کاربر میسر ساخته و اپلیکیشن‌های مخصوص مقابله با بدافزارها قادرند با دسترسی ریشه دستگاه را به شکلی کامل‌تر و عمیق‌تر مورد بررسی و حفاظت قرار دهند.

• تغییرات ظاهری خاص و گسترده: پس از روت شدن ایجاد تغییرات تقریبا در هر قسمت از ظاهر نرم‌افزاری دستگاه امکان‌پذیر خواهد بود. از انیمیشنی که هنگام روشن شدن دستگاه به نمایش درمی‌آید (boot animation) گرفته تا تغییر فونت‌های سیستم‌عامل و آیکون‌های مربوط به وضعیت باتری، وضعیت آنتن‌دهی سیم‌کارت، بلوتوث، وای‌فای، حالت پرواز و غیره. هم‌چنین توسعه‌دهندگان مختلف پوسته‌های طراحی شده خود را برای دستگاه‌های روت شده در قالب فایل‌های zip ارائه می‌نمایند که کاربران می‌توانند آن‌ها را پس از دانلود کردن، از طریق ریکاوری نصب یا به اصطلاح فلش کنند.

Rooting Android Basics Overview

معایب روت کردن اندروید

• احتمال خراب شدن دستگاه: یکی از مهم‌ترین خطرات روت کردن دستگاه آن است که در صورت بروز مشکل هنگام انجام این عملیات، احتمال خرابی دستگاه وجود دارد. استفاده از فایل‌های خراب و غیرمناسب برای فلش کردن دستگاه یا انجام اشتباه مراحل روت کردن از جمله مواردی هستند که می‌توانند به خرابی دستگاه بی‌انجامند. ریسک بروز این اتفاقات به خصوص برای کاربران تازه‌کار و کم‌تجربه در زمینه روت کردن بالاتر است. برای کاهش خطر وقوع این اتفاق بهتر است کاربران کم تجربه با مشاهده ویدئوهای آموزشی موجود در سطح اینترنت و مطالعه دقیق دستورالعمل روت کردن دستگاه، خود را با فرآیند روت کردن اندروید آشنا نموده و از انجام صحیح مراحل مربوطه اطمینان حاصل کنند. هم‌چنین لازم است ابزارها و فایل‌های مورد نیاز از منابع معتبر دریافت شده و سپس با استفاده از روش‌های ارائه شده در این منابع از سلامت فایل‌های دانلود شده اطمینان حاصل گردد. البته لازم به ذکر است که بسیاری از مشکلات به‌وجود آمده در هنگام روت کردن دستگاه‌های اندرویدی، با کمی جست‌وجو در منابع اینترنتی یا با کمک گرفتن از کاربران با تجربه و تعمیرکاران زبده قابل برطرف کردن است. بدیهی‌ست که پشتیبان‌گیری از دستگاه قبل از روت کردن یا نصب رام‌های شخصی‌سازی‌شده ضروری بوده و بازیابی دستگاه را در صورت وقوع مشکلات اساسی آسان‌تر می‌نماید.

• خارج شدن از گارانتی: بسیاری از تولیدکنندگان در صورت روت شدن دستگاه، گارانتی آن را باطل نموده و از جبران خسارات وارده پس از روت شدن دستگاه امتناع می‌کنند. البته در اغلب موارد پس از روت کردن دستگاه امکان بازگشت به حالت عادی و به اصطلاح unroot کردن وجود دارد. در چنین مواردی کاربر می‌تواند پیش از مراجعه به مرکز خدمات، با استفاده از راهنماهای ارائه شده در منابع آنلاین، دستگاه را unroot نموده و آثار روت شدن آن را از بین ببرد.

• اثرات مخرب دست‌کاری فایل‌های سیستمی: اگرچه در اختیار داشتن دسترسی ریشه و کنترل کامل روی دستگاه بسیار جذاب و هیجان‌انگیز به نظر می‌رسد، اما ریسک و مسئولیت بالایی را نیز به همراه دارد. نصب و اجرای یک اپلیکیشن مخرب، تغییر اشتباه تنظیمات سیستمی، استفاده از ترفندهای نابه‌جا، حذف فایل‌های سیستمی و ویرایش نادرست آن‌ها، همگی از جمله اقداماتی هستند که می‌توانند موجب بروز اختلال در عملکرد دستگاه و حتی رسیدن آسیب‌های جبران‌ناپذیر به آن شوند. به عنوان مثال افزایش فرکانس کاری پردازنده یا به اصطلاح overclock کردن آن، چنان‌چه به شکلی نادرست و بیش از اندازه انجام گیرد، می‌تواند به افزایش دمای بیش از حد پردازنده و حتی از کار افتادن آن بی‌انجامد.

• کاهش امنیت و افزایش ریسک ابتلا به بد‌افزارها: به طور معمول کاربران پس از روت کردن دستگاه به سراغ نصب انواع رام‌های شخصی‌سازی‌شده و استفاده از ابزارهای دست‌کاری‌کننده سیستم‌عامل می‌روند. از آن‌جا که بسیاری از این فایل‌ها توسط توسعه‌دهندگان ناشناس و نه چندان معتبر ارائه می‌شوند، با استفاده از آن‌ها ریسک آلوده شدن دستگاه به بدافزارها به میزان قابل توجهی افزایش می‌یابد. به علاوه، در حالت روت بدافزارها قادر خواهند بود تا در صورت دریافت دسترسی ریشه تمامی اجزای سیستم‌عامل را تحت تاثیر قرار داده و نسبت به حالت عادی بسیار قدرتمند‌تر و خطرناک‌تر ظاهر شوند.

• دریافت نکردن به‌روزرسانی‌های رسمی: پس از روت شدن دستگاه کاربر دیگر هم‌چون گذشته قادر به دریافت به‌روزرسانی‌های رسمی نخواهد بود. اگرچه این به‌روزرسانی‌ها به طور معمول با تاخیر زیادی ارائه می‌شوند، اما نسبت به رام‌های غیررسمی و شخصی‌سازی‌شده مشکلات کم‌تری داشته و قابل اعتمادتر هستند. بنابراین حداقل برای دستگاه‌های جدیدتر که به‌روزرسانی‌های رسمی را به طور منظم دریافت می‌نمایند، این مساله می‌تواند عیبی قابل توجه باشد. البته بسیاری از این به‌روزرسانی رسمی توسط توسعه‌دهندگان رام‌های غیررسمی مورد استفاده قرار گرفته و به صورت غیرمستقیم به دست کاربران روت می‌رسد. اما به هر حال نتیجه نهایی در اکثر اوقات از نظر کارایی و پایداری نسبت به نسخه رسمی متفاوت بوده و ممکن است در سطحی پایین‌تر یا بالاتر قرار گیرد.

Rooting Android Basics Overview

اصطلاحات و مفاهیم مربوط به روت کردن

ورود به دنیای روت سیستم‌عامل، دست‌کاری کردن اندروید و نصب نسخه‌های اندروید شخصی‌سازی‌شده می‌تواند تا حدودی عجیب، ترسناک و گیج‌ کننده باشد. کاربران به طور معمول برای روت کردن و نصب رام‌های جدید به صفحات مربوط به دستگاه خود در انجمن‌های آنلاینی هم‌چون XDA مراجعه می‌نمایند. اگرچه در اغلب این صفحات دستورالعمل‌های مشخص و دقیقی برای انجام عملیات مربوطه ارائه شده است، اما این دستورالعمل‌ها برای یک فرد تازه‌وارد مملو هستند از اصطلاحات عجیب و ناشناخته‌ای هم‌چون ROM، Kernel، Recovery، Nandroid، Bootloader، Stock، Radio و غیره. در این قسمت از مطلب سعی می‌کنیم شما را به صورت اختصاری با مفهوم برخی از این اصطلاحات آشنا کنیم.

ROM: رام(ROM) همان سیستم‌عامل یا نرم‌افزار اصلی دستگاه است که منابع سخت‌افزاری را کنترل نموده و کاربران به کمک آن از دستگاه همراه خود استفاده می‌کنند. رام دربرگیرنده تمامی اجزای اصلی سیستم از جمله Phone ،Messaging ،Launcher ،Settings و Notification bar است. رام‌ها به دو دسته کلی تقسیم‌بندی می‌شوند: رام‌ اصلی یا Stock ROM و رام شخصی‌سازی‌شده یا Custom ROM. رام stock همان نسخه اصلی و رسمی از سیستم‌عامل اندروید است که برای دستگاه‌های همراه ارائه می‌گردد. رام‌های شخصی‌سازی‌شده (Custom) حاصل مجموعه‌ای از تغییرات مختلف هستند که توسط توسعه‌دهندگان غیررسمی روی رام‌های اصلی انجام گرفته‌ است. از تغییر در ظاهر سیستم‌عامل گرفته تا بهبود رابط کاربری، اضافه کردن قابلیت‌های جانبی، حذف bloatwareها، افزودن اپلیکیشن‌های پرکاربرد و دست‌کاری هسته سیستم‌عامل برای حصول کارایی بهتر و دوام باتری بیش‌تر. از شناخته‌شده‌ترین رام‌های شخصی‌سازی‌شده می‌توان به CyanogenMod (با نام جدید LineageOS)، رام MIUI و Paranoid اشاره نمود.

Kernel: هسته یا Kernel ‌همان‌طور که از نامش پیداست بخش مرکزی سیستم‌عامل است که فرآیندهای اصلی و بنیادی سیستم از جمله کنترل منابع سخت‌افزاری را شامل می‌شود. پس از روت کردن می‌توان به هسته اندروید دسترسی یافته و آن را دست‌کاری نمود. برخی توسعه‌دهندگان با اهداف مختلف تغییراتی را در هسته اندروید ایجاد نموده و در صورت موفقیت‌آمیز بودن نتیجه این تغییرات، هسته یا kernel حاصل را استخراج نموده و به عنوان یک هسته شخصی‌سازی‌شده (custom kernel) در اختیار عموم قرار می‌دهند. به طور معمول برای هر گوشی هوشمند اندرویدی هسته‌های شخصی‌سازی‌شده متعددی موجود است که می‌توان آن‌ها را دریافت نموده و جایگزین هسته فعلی سیستم‌عامل دستگاه نمود. بسیاری از این هسته‌های شخصی‌سازی‌شده موجب افزایش سرعت و بهبود دوام باتری دستگاه می‌شوند. البته بایستی توجه داشت که استفاده از یک هسته بد و مشکل‌دار می‌تواند اثرات مخرب جدی و مهمی را به دنبال داشته و حتی به خرابی دستگاه بی‌انجامد.

Radio: رادیو به بخشی از رام یا firmware دستگاه اطلاق می‌شود که اتصال دستگاه به شبکه‌های بی‌سیم را میسر می‌سازد. مدیریت عملیات اتصال دستگاه به شبکه‌های مخابراتی، Wi-Fi، GPS و دیگر موارد مشابه به عهده این بخش از سیستم‌عامل اندروید است. پس از روت کردن دستگاه، رادیو را هم می‌توان هم‌چون هسته به صورت مجزا تغییر داد. به‌روزرسانی رادیو می‌تواند موجب بهبود کیفیت ارتباطات بی‌سیم یا کاهش مصرف شارژ باتری حین برقراری این ارتباطات گردد.

فِلَش کردن (Flashing): فرآیند نصب یک بسته نرم‌افزاری هم‌چون یک رام، هسته، رادیو، پوسته یا ابزار ریکاوری را به اصطلاح فلش کردن می‌گویند. این بسته‌های نرم‌افزاری در قالب فایل‌های ZIP ارائه گردیده و در حالت ریکاوری نصب یا فلش می‌شوند.

Bootloader: بوت‌لودر پایین‌ترین سطح نرم‌افزار روی یک دستگاه همراه اندرویدی است که قبل از سیستم‌عامل اجرا شده و وظیفه بارگذاری یا بوت کردن سیستم‌عامل را به عهده دارد. در اغلب دستگاه‌های همراه bootloader به صورت پیش‌فرض قفل شده است. به این معنی که فقط کار بارگذاری رام اصلی دستگاه را انجام داده و دسترسی به آن برای فلش کردن بسته‌های نرم‌افزاری غیررسمی باز نیست. بنابراین برای روت کردن دستگاه، فلش کردن هسته‌، رادیو و رام‌های شخصی‌سازی‌شده لازم است که ابتدا قفل بوت‌لودر دستگاه باز شود. لازم به توجه است که باز کردن قفل بوت‌لودر به طور معمول موجب پاک شدن تمام داده‌های کاربر می‌شود.

Recovery: ریکاوری نرم‌افزاری روی دستگاه همراه و در کنار سیستم‌عامل است که امکان انجام برخی کارهای سیستمی از جمله به‌روزرسانی سیستم‌عامل، پشتیبان‌گیری و فلش کردن رام‌ها را فراهم می‌آورد. نرم‌افزار ریکاوری پیش‌فرض دستگاه‌ها به طور معمول بسیار محدود بوده و بیش‌تر برای اعمال به‌روزرسانی‌ها مورد استفاده قرار می‌گیرد. اما پس از باز کردن قفل بوت‌لودر می‌توان ریکاوری پیش‌فرض را با یک نرم‌افزار ریکاوری شخصی‌سازی‌شده و قدرتمند هم‌چون ClockworkMod یا TWRP جایگزین نمود. این ابزارهای ریکاوری امکانات مختلفی را در اختیار کاربر می‌گذارند که از مهم‌ترین آن‌ها می‌توان به امکان پشتیبان‌گیری از حافظه، بازیابی پشتیبان‌ها، فلش کردن انواع بسته‌های نرم‌افزاری، پاک کردن کش و پاک کردن حافظه ذخیره‌سازی دستگاه اشاره نمود.

Nandroid Backup: یک نوع پشتیبان‌گیری کامل از سیستم است که در حالت ریکاوری انجام می‌گیرد. پشتیبان Nandroid در واقع یک تصویر کامل از سیستم محسوب می‌شود که همه چیز از جمله رام دستگاه، اپلیکیشن‌ها و داده‌های کاربر را در برمی‌گیرد. برای پشتیبان‌گیری به این روش لازم است قفل بوت‌لودر باز گردیده و یک ابزار ریکاوری شخصی‌سازی‌شده روی سیستم فلش شده باشد. پس از یک‌بار پشتیبان‌گیری به این سبک چنان‌چه در حین تعویض رام یا دست‌کاری فایل‌های سیستمی دستگاه اشکالی رخ داده و سیستم‌عامل دیگر امکان بوت شدن نداشته باشد، می‌توان با ورود به حالت ریکاوری، پشتیبان Nandroid موجود را بازیابی نموده و وضعیت سیستم را به زمان انجام پشتیبان‌گیری بازگرداند. توصیه می‌شود پیش از ایجاد تغییرات مهم سیستمی از جمله روت کردن اندروید یا فلش کردن رادیو، هسته و رام‌های شخصی‌سازی‌شده یک پشتیبان Nandroid از سیستم گرفته شود.

ADB :ADB مخفف Android Debug Bridge بوده و عبارت است از یک ابزار نرم‌افزاری برای تعامل با دستگاه‌های همراه مبتنی بر اندروید از طریق کامپیوترهای شخصی. به کمک این ابزار می‌توان در محیط خط فرمان کامپیوترهای شخصی دستورهای مختلفی را از طریق کابل USB روی دستگاه اندرویدی مورد نظر اجرا نمود. این نرم‌افزار بخشی از SDK اندروید است. بسیاری از ابزارهای موجود برای روت کردن اندروید از ADB استفاده می‌نمایند.

Fastboot: ابزاری‌ست که مانند ADB برای ارسال فرمان از یک کامپیوتر شخصی به یک دستگاه اندروید از طریق اتصال USB مورد استفاده قرار می‌گیرد. با این تفاوت که در این روش برای برقراری ارتباط و ارسال فرمان‌ها بایستی ابتدا دستگاه همراه مورد نظر خاموش شده و با نگاه داشتن ترکیبی از دکمه‌های سخت‌افزاری در حالت Fastboot قرار داده شود. به طور معمول عملیات باز کردن قفل بوت‌لودر از طریق همین ابزار انجام می‌گیرد.

Bricked :Bricked به معنای “آجرشده” اشاره به حالتی دارد که دستگاه همراه دچار خرابی گردیده و از نظر کارایی تفاوت چندانی با یک تکه آجر ندارد. گاهی اوقات دستگاه همراه در اثر نصب فایل‌های خراب یا دست‌کاری فایل‌های سیستمی توسط کاربر دچار مشکل جدی شده و امکان بارگذاری سیستم‌عامل را از دست می‌دهد. این حالت از خرابی که ریشه نرم‌افزاری داشته و احتمال تعمیر آن به صورت نرم‌افزاری وجود دارد را به اصطلاح soft-bricked می‌خوانند. در مورد دستگاهی که خرابی آن ریشه سخت‌افزاری داشته و امکان روشن شدن ندارد، گفته می‌شود که به اصطلاح hard-bricked شده است. در این حالت به طور معمول لازم است که دستگاه تعویض گردیده یا توسط تعمیرکاران ماهر و متخصص تعمیر گردد.

Superuser: در یک سیستم‌عامل مبتنی بر لینوکس هم‌چون اندروید، اصطلاح superuser به کاربری اطلاق می‌شود که از دسترسی‌های مدیریتی برخوردار بوده و قادر است تمامی فایل‌های موجود در حافظه دستگاه از جمله فایل‌های سیستمی را مورد تغییر دهد. کاربری که دستگاه اندروید خود را روت نموده است در وضعیت superuser قرار دارد. روی اغلب دستگاه‌های روت شده اپلیکیشنی وجود دارد که استفاده دیگر اپلیکیشن‌ها از دسترسی‌های ریشه یا superuser را مدیریت می‌کند. معروف‌ترین و پرکاربردترین این اپلیکیشن‌ها عبارتند از Superuser و SuperSU که به ترتیب توسط Clockwork mod و Chainfire توسعه یافته‌اند.

Rooting Android Basics Overview

آماده‌سازی برای روت کردن

اگرچه روش‌‌های متعددی برای روت کردن دستگاه‌های همراه مختلف وجود دارد، اما فرآیند آماده‌سازی برای اغلب این روش‌ها شبیه به یک‌دیگر است. قبل از هر چیز لازم است از داده‌های مهم پشتیبان‌گیری شود. چرا که در فرآیند روت کردن اندروید، از دست رفتن داده‌های کاربر قطعی یا محتمل است. بنابراین بهتر است پیش از شروع کار تمامی داده‌های مهم کاربر از جمله اطلاعات مخاطبین، یادداشت‌ها، عکس‌ها و فیلم‌ها، روی فضاهای ابری یا محلی پشتیبان‌گیری شوند. این عملیات می‌تواند توسط اپلیکیشن‌ها و ابزارهای ویژه پشتیبان‌گیری یا به صورت دستی توسط خود کاربر انجام گیرد. امروزه راه‌کارهای رسمی گوگل برای پشتیبان‌گیری از داده‌های کاربر نسبت به گذشته بسیار کارآمدتر گردیده‌اند. اپلیکیشن‌های رسمی گوگل امکان هم‌گام‌سازی و پشتیبان‌گیری ابری داده‌هایی هم‌چون لیست مخاطبین، تقویم، یادداشت‌ها، تصاویر، مستندات و دیگر فایل‌های کاربر را از طریق حساب کاربری گوگل فراهم می‌آورند. البته این راه‌کار مستلزم آن است که کاربر برای مدیریت این داده‌ها از اپلیکیشن‌های رسمی گوگل استفاده نموده و در کنار بهره‌مند بودن از پهنای باند اینترنتی مناسب، حاضر به پرداخت هزینه‌های مربوط باشد. علاوه بر این، اپلیکیشن‌های پشتیبان‌گیری مختلفی از جمله Helium ،App Backup Restore و Easier Backup بدون نیاز به دسترسی روت قادرند بخش قابل توجهی از داده‌ها و اپلیکیشن‌های کاربر را پشتیبان‌گیری نمایند.

گام دیگر آماده‌سازی پیش از روت کردن اندروید، فعال‌‌سازی قابلیت‌های USB Debugging و OEM Unlocking روی دستگاه همراه است. برای این منظور می‌توان با مراجعه به بخش Developer Options از قسمت تنظیمات دستگاه، گزینه‌های مربوطه را فعال نمود. البته در بسیاری از دستگاه‌ها بخش Developer Options به صورت پیش‌فرض در قسمت تنظیمات قابل مشاهده نیست. در این صورت لازم است با ورود به بخش About Phone در قسمت تنظیمات دستگاه، عبارت Build Number را یافته و 7 مرتبه پشت‌ سر‌هم انگشت خود را روی آن بزنیم. به این ترتیب بخش Developer Options از حالت مخفی خارج شده و در منوی اصلی تنظیمات دستگاه قابل مشاهده خواهد بود.

عملیات روت کردن اندروید به طور معمول از طریق اتصال دستگاه همراه به کامپیوتر شخصی با استفاده از کابل USB و سپس ارسال فرامین لازم از کامپیوتر به دستگاه اندرویدی انجام می‌گیرد. بنابراین پیش از روت کردن لازم است آماده‌سازی‌های لازم روی کامپیوتر مورد نظر نیز به ‌عمل آید. ارسال فرامین از کامپیوتر شخصی به دستگاه اندروید از طریق ابزارهای خط فرمان ADB و Fastboot امکان‌پذیر می‌شود. در گذشته نصب این ابزارها مستلزم دانلود کامل بسته توسعه‌ نرم‌افزاری اندروید (Android SDK) بود. اما خوش‌بختانه مدتی‌ست که به جای این کار وقت‌گیر و دردسرساز، کافی‌ست که کاربر بسته نسبتا کم‌حجم Android SDK Platform Tools را از سایت توسعه‌دهندگان گوگل دانلود و نصب نماید.

همچنین برای اطمینان از این‌که کامپیوتر شخصی قادر است با دستگاه همراه مورد نظر ارتباط برقرار کند، لازم است درایور USB مربوط به آن دستگاه همراه روی کامپیوتر شخصی مورد استفاده نصب گردد. امروزه برخی از تولیدکنندگان درایورهای لازم را در سیستم نرم‌افزاری دستگاه همراه جاسازی می‌کنند. در این حالت با اولین اتصال دستگاه همراه به هر کامپیوتر شخصی از طریق پورت USB، درایور مربوطه به صورت خودکار نصب خواهد شد. در صورتی‌ که پس از اتصال یک دستگاه همراه به کامپیوتر شخصی ارتباطی موفقیت‌آمیز میان آن‌ها برقرار نشود، بایستی به صورت دستی اقدام به نصب درایور USB نمود. فایل‌های مورد نیاز برای این کار به طور معمول از طریق وب‌سایت رسمی تولیدکنندگان قابل دریافت هستند.

برای انجام کارهای حساسی هم‌چون باز کردن قفل bootloader، نصب ریکاوری شخصی‌سازی‌شده، روت کردن، نصب رام، نصب رادیو و هسته‌های شخصی‌سازی‌شده لازم است که از داشتن شارژ کافی دستگاه همراه اطمینان حاصل شود. چرا که خاموش شدن دستگاه در حین انجام این‌گونه کارها می‌تواند به صدمه دیدن و خرابی دستگاه بی‌انجامد. لذا پیشنهاد می‌شود پیش از شروع هر یک از کارها دستگاه همراه مورد نظر حداقل 50 درصد شارژ داشته باشد.

قبل از برای روت کردن اندروید بایستی از باز بودن قفل bootloader اطمینان حاصل نمود. برخی تولیدکنندگان از جمله گوگل، HTC، وان پلاس، Essential، موتورولا و LG برای همه یا برخی از دستگاه‌های همراه خود امکان باز کردن قفل بوت‌لودر را به صورت رسمی فراهم می‌آورند. اما در مورد دیگر دستگاه‌ها این کار به طور معمول با استفاده از آسیب‌پذیری‌های کشف شده توسط توسعه‌دهندگان مستقل انجام می‌گیرد. در این حالت باز شدن قفل بوت‌لودر موجب خارج شدن دستگاه از گارانتی می‌شود. برای باز کردن بوت‌لودر این‌گونه دستگاه‌ها بهتر است به بخش مربوطه در انجمنdevelopers XDA مراجعه شود. عملیات باز کردن قفل بوت‌لودر چه به صورت رسمی و چه غیررسمی از طریق Fastboot انجام می‌گیرد.

روش‌ها و ابزارها

برای روت کردن دستگاه‌های همراه روش‌ها و ابزارهای مختلفی وجود دارد. این کار می‌تواند به صورت دستی و از طریق خط فرمان‌ ADB انجام گرفته یا با استفاده از اپلیکیشن‌هایی ویژه به صورت خودکار و تنها با فشردن یک کلید صورت پذیرد. برای روت کردن اندروید بهتر است از دستورالعمل‌ها و ابزارهای تایید شده توسط XDA developers استفاده شود. دستگاه‌های مختلف یا حتی نسخه‌های مختلف از یک دستگاه می‌توانند مشخصات سخت‌افزاری متفاوتی داشته باشند. بنابراین انتخاب راهنما، فایل یا روش روت کردن اشتباه که مربوط به دستگاهی دیگر باشد، می‌تواند ریسک خرابی دستگاه را به همراه داشته باشد.

در سال‌های اخیر روش جدیدی با نام Systemless root برای روت کردن اندروید ارائه شده است. در این روش همان‌طور که از نامش قابل حدس است، دسترسی root بدون دست‌کاری پارتیشن سیستم (یا همان مسیر /system) به دست می‌آید. روش Systemless به جای این‌که مانند روش‌های عادی یا همان روش‌های مبتنی بر SuperSU به دست‌کاری پارتیشن سیستم متوصل شود، دسترسی روت را از طریق ایجاد تغییرات در Boot image یا همان bootloader دستگاه به دست می‌آورد. همین مساله مزایای مختلفی را با خود به ارمغان می‌آورد.

Rooting Android Basics Overview

دست نخوردن فایل‌های اصلی سیستم‌عامل از یک سو موجب کاهش ریسک‌های معمول عملیات روت کردن گردیده و از سوی دیگر باعث می‌شود تا روت شدن دستگاه از دید SafetyNet Google پنهان بماند. سرویس SafetyNet با چک کردن پارتیشن سیستم، دست‌کاری شدن فایل‌های سیستمی را تشخیص داده و فعالیت اپلیکیشن‌هایی هم‌چون Google Pay ،Netflix و Pokemon GO که برای حفظ امنیت خود از این سرویس بهره می‌گیرند را متوقف می‌کند. به این ترتیب Systemless root به کاربران اجازه می‌دهد تا بتوانند در کنار به‌دست آوردن دسترسی ریشه، از این اپلیکیشن‌های محبوب نیز استفاده نمایند. مزیت دیگر این روش ساده‌تر بودن عملیات unroot کردن دستگاه و نصب به‌روزرسانی‌های رسمی است. برای unroot کردن دستگاه در این روش کافی‌ست boot image اصلی روی دستگاه فلش شود. علاوه بر این، در روش Systemless root حتی یک Factory Reset ساده نیز موجب خارج شدن دستگاه از حالت روت خواهد شد. البته این خاصیت شمشیری دو لبه محسوب گردیده و می‌تواند یک مزیت یا یک عیب به شمار آید. بهترین و پرکاربردترین ابزاری که برای روت کردن به روش Systemless مورد استفاده قرار می‌گیرد، Magisk نام دارد. اطلاعات دقیق‌تر در مورد Magisk و نحوه استفاده از آن در انجمن XDA Developers ارائه گردیده است.

در حال حاضر ابزارهای متعددی برای روت کردن دستگاه‌های همراه مبتنی بر اندروید وجود دارند که این کار را به شکلی بسیار ساده برای کاربر انجام می‌دهند. از جمله مهم‌ترین و پرطرفدارترین این ابزارها می‌توان به Kingo Root ،OneClickRoot ،Frameroot ،KingRoot ،CF-Auto-Root ،Magisk Root و BaiduRoot اشاره نمود. توصیه می‌شود پیش از به‌کارگیری هر یک از این ابزارها دستورالعمل‌های مربوطه را به دقت مطالعه نموده و از پشتیبانی شدن دستگاه همراه خود توسط آن ابزار اطمینان حاصل فرمایید.