تقی حسن زاده، پایگاه خبری دانا، سرویس دانش و فناوری؛ بهصورت خلاصه میتوان گفت که روت کردن گوشیها و تبلتهای اندرویدی به افزایش سطح دسترسی کاربر ختم میشود. کاربران میتوانند با این سطح از دسترسی تنظیمات و اپلیکیشنهای سیستمی بیشتر را تغییر دهند یا جایگزین نمایند. همچنین امکان اجرای برخی برنامههای خاص که نیاز به سطح دسترسی بالایی دارند هم ایجاد میشود. در سوی دیگر، برخی دیگر از اپها دارای قابلیتهایی هستند که در حالت عادی قابل استفاده نیستند و تنها پس از روت کردن میتوان به سراغ آنها رفت.
توجه داشته باشید که روت کردن گوشی ممکن است باعث خارجشدن آن از گارانتی شود. همچنین احتمال دارد پس از روت وضعیت دستگاه ناپایدار شود و اگر این کار بهدرستی صورت نگیرد، امکان آسیب دائمی به موبایل یا تبلت نیز وجود خواهد داشت.
روت کردن گوشی چگونه است؟
امروزه برنامه Magisk بهترین راهکار برای روت کردن گوشیها و تبلتهای اندرویدی به شمار میرود. ابزار گفتهشده امکان تغییر پارتیشن بوت بدون دستکاری پارتیشن سیستمی را فراهم میسازد؛ در نتیجه به این شیوه، روش بدون سیستم (Systemless) هم گفته میشود.
پیش از شروع کار با اپ Magisk باید به یک رایانه مبتنی بر ویندوز یا مک او اس همراه با ADB و Fastboot دسترسی داشته باشید. همچنین بوت لودر دستگاهی که قصد روت کردن آن را دارید، باید باز باشد. شایان ذکر است که بازکردن بوت لودر در محصولات برخی از برندها مثل سامسونگ، موجب ایجاد برخی محدودیتها در آینده خواهد شد.
۱. شناسایی نوع Boot Image
در ابتدا برای دانلود برنامه Magisk میتوانید به این مخزن گیت هاب مراجعه کنید تا به آخرین نسخه دسترسی داشته باشید. به دلیل اینکه فایل APK این اپلیکیشن تنها در خارج از گوگل پلی منتشر شده است، برای نصب آن باید گزینه نصب از منابع ناشناس (Unknown Sources) را در تنظیمات دستگاه فعال کنید. پس از نصب اپ، با صفحهای مشابه تصویر زیر مواجه خواهید شد.
در این مرحله، باید مقادیر نوشتهشده در روبهروی عبارتهای Ramdisk و A/B را همراه با SAR یادداشت کنید. توجه داشته باشید که در مراحل بعدی به این مقادیر نیاز خواهیم داشت، پس سعی کنید حتماً آنها را جایی بنویسید یا بهخوبی به خاطر بسپارید.
۲. یافتن Boot Image
برای پچ کردن Boot Image دستگاه خود، ابتدا باید آن را از بسته فریمور رسمی مختص به موبایل یا تبلت خود استخراج کنید. در صورتی که از رامهای سفارشی مثل LineageOS استفاده میکنید، میتوانید Boot Image را در داخل فایل ZIP مورد استفاده برای فلشکردن پیدا نمایید. در این مرحله چند سناریو مطرح میشود که در پایین بهصورت جداگانه توضیح داده شدهاند.
۲.۱ اگر به فایل ZIP ریکاوری قابل فلش دسترسی دارید
در صورتی که هنوز از دستگاهی استفاده میکنید که از ساختار پارتیشن A-only بهره میگیرد، میتوانید فایل boot.img را در داخل فایل ZIP ریکاوری قابل فلش پیدا کنید. به این منظور تنها نیاز دارید تا فایل زیپ را به وسیله ابزار مناسب (مثل WinRAR یا WinZip) استخراج نمایید.
اگر دستگاه شما از ساختار پارتیشن A/B بهره میبرد، میتوانید فایل boot.img و سایر فایلهای مربوطه را در داخل پکیجی دیگر با نام payload.bin (مانند تصویر پایین) بیابید. در این حالت ابتدا باید فایل payload.bin را به وسیله یکی از نرمافزارهای استخراجکننده از فایل ZIP خارج کنید. سپس میتوانید به کمک ابزارهای غیر رسمی توسعهیافته توسط جامعه کاربری اندروید، اقدام به استخراج فایل boot.img نمایید.
ابزار Payload Dumper Go یکی از بهترین گزینهها برای استخراج محتویات از داخل فایل payload.bin است. برنامه گفته شده از طریق این مخزن گیت هاب قابل دانلود است. همچنین امکان استخراج تنها یک فایل (مثل boot.img) بدون نیاز به خارجکردن سایر فایلها نیز در داخل ابزار مذکور در نظر گرفته شده است که میتواند مدت زمان مورد نیاز برای این فرایند را به شدت کاهش دهد. برای انجام چنین کاری تنها کافی است تا مراحل زیر را طی کنید:
- ابتدا با استفاده از دستور زیر اقدام به دریافت لیست Partition Images در داخل فایل payload.bin کنید.
payload-dumper-go -l payload.bin
- در ادامه به کمک دستور زیر، فایل Boot Image موردنظر را برای استخراج، انتخاب نمایید. این فایل معمولاً با نام boot و فرمت img ذخیره میشود، اما نیازی به واردکردن فرمت آن نخواهد بود.
payload-dumper-go -p boot payload.bin
۲.۲ اگر به فایل قابل فلش Fastboot دسترسی دارید
برخی از شرکتهای سازنده دستگاههای اندرویدی مثل گوگل و شیائومی، فایل Fastboot قابل فلش محصولات خود را بهصورت عمومی منتشر میکنند. در صورتی که بتوانید به چنین فایلی دسترسی پیدا کنید، میتوانید فایل boot.img خام را به آسانی از داخل آن استخراج نمایید.
۲.۳ اگر قصد روت کردن گوشی سامسونگ را دارید
دستگاههای سری گلکسی سامسونگ از رابط رایج Fastboot بهره نمیبرند. در نتیجه فایلهای Image در آنها به شکل متفاوتی فشرده شده است. به این منظور میتوانید طبق مسیر گفتهشده در پایین عمل کنید:
(ابتدا باید به فریمور موردنظر برای دستگاه خود دسترسی داشته باشید. با استفاده از ابزار Samsung Firmware Downloader میتوانید این کار را انجام دهید که از طریق لینک مخزن گیت هاب زیر قابل دسترس است.)
github.com/zacharee/SamloaderKotlin/releases
- برای شروع باید از طریق تب Downloader اقدام به انتخاب دستگاه خود و ریجن آن نمایید.
- سپس روی کلید Download در گوشه بالایی سمت چپ پنجره بزنید تا فرایند دریافت فریمور شروع شود.
- پس از اتمام دانلود میتوانید از طریق تب Decrypter اقدام به بازکردن فایل دانلودشده کنید.
- فایل بازشده را از حالت زیپ خارج کنید.
- سپس فایل AP_[device_model_sw_ver].tar.md5 را پیدا کنید. در داخل کروشه مدل دستگاه همراه با نسخه نرمافزار آن نوشته شده است.
۳. پچ کردن فایل Boot Image
بعد از یافتن فایل Boot Image طبق مراحل گفتهشده در قسمت قبل، باید اقدام به پچ کردن آن کنیم. برای انجام این کار نیز چندین سناریوی مختلف مطرح میشود که در پایین به شکل مستقل به آنها اشاره شده است. برای ادامه کار نیاز به مقادیری که در مرحله ۱ یادداشت کردیم، خواهیم داشت.
۳.۱ اگر مقدار Ramdisk برابر با Yes باشد
- فایل Boot Image را روی حافظه داخلی موبایل یا تبلت خود کپی کنید. البته حتماً نیازی به کپیکردن آن روی دستگاه مقصد ندارید و میتوانید فرایند پچ کردن را با هر دستگاه اندرویدی که در دسترس دارید، انجام دهید؛ اما باید توجه داشته باشید که اپلیکیشن Magisk روی دستگاه نصب شده باشد.
- وارد قسمت Install در داخل برنامه Magisk شوید.
- گزینه Select and Patch a File را انتخاب کنید.
- سپس آدرس فایل Boot Image را که روی دستگاه خود کپی کردید، مشخص کنید و آن را انتخاب نمایید.
- برنامه Magisk فایل Boot Image پچ شده را در آدرس زیر روی حافظه داخلی دستگاه ذخیره خواهد کرد.
[Internal Storage]/Download/magisk_patched_[random_strings].img
- با استفاده از دستور زیر در ADB، فایل Boot Image پچ شده را به کامپیوتر منتقل کنید.
adb pull /sdcard/Download/magisk_patched_[random_strings].img
- حالا فایل Boot Image پچ شده را روی دستگاه خود فلش کنید. در اغلب دستگاهها میتوانید با ریبوت کردن و واردشدن به حالت Fastboot اقدام به فلشکردن فایل گفتهشده با دستور زیر نمایید.
fastboot flash boot /path/to/magisk_patched.img
- درنهایت دوباره دستگاه را ریبوت کنید. اکنون روی موبایل یا تبلت خود دسترسی روت خواهید داشت.
توجه داشته باشید که میتوان فایل Boot Image را از طریق ریکاوریهای سفارشی مثل TWRP نیز پچ کرد؛ اما این روش دیگر در دستگاههای مدرن توصیه نمیشود. با این حال اگر یک دستگاه قدیمی دارید و میخواهید با ریکاوری سفارشی ادامه دهید، میتوانید از مسیر زیر اقدام به روت کردن آن نمایید.
- فایل APK برنامه Magisk را دانلود کنید. سپس فرمت فایل دانلودشده را از APK به ZIP تغییر دهید.
- فایل زیپ را مانند سایر فایلهای ZIP معمولی، فلش کنید.
- توجه کنید که فایل sepolicy.rule احتمالاً در پارتیشن cache ذخیره میشود و نباید آن را حذف کنید.
- از نصبشدن اپلیکیشن Magisk اطمینان کسب کنید. اگر برنامه به شکل خودکار نصب نشده بود، آن را بهصورت دستی نصب کنید.
۳.۲ اگر مقدار Ramdisk برابر با No باشد
در این حالت باید فایل recovery.img را بهجای فایل boot.img پیدا کنید؛ زیرا برنامه Magisk باید روی ریکاوری پارتیشن نصب شود. در نتیجه هربار که نیاز به دسترسی روت داشته باشید، باید دستگاه را روی حالت ریکاوری ریبوت کنید. به این منظور مسیر زیر را دنبال نمایید.
- فایل recovery.img را روی دستگاه مدنظر برای روت کردن یا هر دستگاه اندرویدی دیگر که دارای اپ Magisk است، کپی کنید.
- وارد قسمت Install در داخل برنامه Magisk شوید و سپس گزینه Select and Patch a File را انتخاب کنید. به مسیر ذخیرهشدن فایل ریکاوری بروید و آن را انتخاب نمایید.
- اپلیکیشن Magisk فایل پچ شده را در مسیر زیر روی حافظه داخلی دستگاه ذخیره خواهد کرد.
adb pull /sdcard/Download/magisk_patched_[random_strings].img
- فایل Recovery Image پچ شده را روی دستگاه خود فلش کنید. در اغلب دستگاهها میتوانید با ریبوت و ورود به حالت Fastboot، اقدام به فلش کردن فایل با استفاده از دستور زیر نمایید.
fastboot flash recovery /path/to/magisk_patched.img
- درنهایت دوباره دستگاه را ریبوت نمایید.
اکنون ممکن است سه حالت مختلف پیش بیاید که هر کدام در پایین ذکر شدهاند.
- اگر استفاده به شکل عادی روشن شد و برنامه Magisk نصب نشده است؛ دسترسی روت وجود نخواهد داشت.
- کلید ترکیبی ریکاوری را نگه دارید. پس از عوضشدن صفحه، کلیدها را رها کنید؛ اکنون سیستم همراه با برنامه Magisk بوت خواهد شد و دسترسی روت خواهید داشت.
- کلید ترکیبی ریکاوری را نگه دارید. پس از عوضشدن صفحه کلید افزایش صدا را همچنان نگه دارید؛ اکنون به حالت ریکاوری اصلی دستگاه دسترسی خواهید داشت.
۳.۳ اگر قصد روت کردن گوشی سامسونگ را دارید
در مرحله ۲.۳ دیدیم که هنگام روت کردن گوشیهای سامسونگ بهجای فایل boot.img به فایل AP tar نیاز خواهیم داشت. پس از یافتن فایل موردنظر از طریق بسته فریمور دستگاه خود، مراحل زیر را ادامه دهید.
- فایل AP tar را روی دستگاه اندرویدی موردنظر کپی کنید.
- وارد قسمت Install در داخل برنامه Magisk شوید.
- اگر دستگاه شما Boot Ramdisk ندارد، مطمئن شوید که تیک گزینه Recovery Mode خورده باشد.
- در قسمت Method گزینه Select and Patch a File را انتخاب کنید. سپس به مسیر ذخیرهشدن فایل AP tar رفته و آن را انتخاب نمایید.
- برنامه Magisk کل فایل فریمور را پچ خواهد کرد و در مسیر زیر روی حافظه داخلی دستگاه ذخیره میکند.
[Internal Storage]/Download/magisk_patched_[random_strings].tar
- با استفاده از دستور زیر در ADB اقدام به کپی کردن فایل Tar پچ شده روی کامپیوتر خود کنید. توجه داشته باشید که از رابط MTP برای کپیکردن استفاده نکنید، زیرا موجب آسیبدیدن فایلها حجیم میشود.
adb pull /sdcard/Download/magisk_patched_[random_strings].tar
- دستگاه را روی حالت دانلود، ریبوت کنید. اکنون برنامه Odin را روی کامپیوتر خود باز نموده و سپس فایل Tar پچ شده را بهعنوان AP در کنار BL ،CP و CSC از فریمور اصلی فلش کنید. توجه داشته باشید که گزینه HOME_CSC را انتخاب نکنید.
- پس از اتمام فرایند فلشکردن از طریق اودین، دستگاه باید بهصورت خودکار ریبوت شود. در صورتی که پیامی مبنی بر بازیابی تنظیمات کارخانه (Factory Reset) مشاهده کردید، آن را تأیید کنید.
- در صورتی که دستگاه موردنظر دارای Boot Ramdisk نیست، به ریکاوری ریبوت کنید تا اپ Magisk را فعال کنید.
- آخرین نسخه از برنامه Magisk را نصب کنید و آن را اجرا نمایید. در داخل آن پیامی مبنی بر نصب موارد بیشتر نمایش داده میشود. آن را تأیید کرده و صبر کنید تا دستگاه به شکل خودکار ریبوت شود.
- درنهایت دوباره دستگاه را ریبوت نمایید. اکنون میتوانید از دسترسی روت روی تبلت یا گوشی خود بهره ببرید.
۴. تأیید روت
آخرین مرحله هنگام روت کردن گوشی، تأیید انجام صحیح فرایند است. برای این کار وارد اپلیکیشن Magisk شوید. اکنون باید ارقام نسخه فعلی در کنار مقدار Installed نمایش داده شوند. در صورتی که توانستید چنین ارقامی را مشاهده کنید، یعنی فرایند روت کردن گوشی به درستی انجام شده است.