حالا باگ شماره 2 چیه؟
اول یه توضیح بدم اونم اینه که اندروید روی دستگاه های مختلف اجرا میشه. شیائومی، سامسونگ و .... و هر کدوم از اینها سخت افزارهای جداگانه خودشون رو دارن خب سیستمم عامل اندروید برای حرف زدن با هر کدوم از اینها باید یه کد جداگانه بنویسه که غیر ممکنه.
اومده یه چیزی طراحی کرده به نام HAL (Hardware Abstraction Layer) که میشه واسطه بین فریمورک اندروید و سخت افزار شرکت های مختلف. به این صورت که هر تولیدکننده ای HAL خودش رو مینویسه و اندروید فقط با HAL حرف میزنه و HAL هم با سخت افزار.
حالا یه vendor HAL به نام
olc2 هست که کارش مدیریت لاگ سیستم هست و از این مسیر اجرا میشه /odm/bin/hw/vendor.oplus.hardware.olc2-V3-service. توی این HAL یه متد هست به نام doShell که یه شل باز میکنه و دستور میگیره. اول میپرسه کی داره با من حرف میزنه و چک میکنه که آیا طرف مقابل root هست یا نه => خب ما با باگ شماره 1 خودمون رو روت کردیم و بعد دستوری که هستش رو اجرا میکنه.خب حالا این جا یه نکته هست که حتی اگر root , uid 0 هم باشی SELinux نمیذاره هر کاری که دلت بخواد انجام بدی و جلوت رو میگیره ولی با توجه به sepolicy اجازه میده با این HAL ما که روت هستیم حرف بزنیم به قول معروف و اینکه اجرای دستور ما توی دامنه جدید قرار میگیره که
CapBnd = 0x1ffffffffffff و تمام امکانات سیستم عامل رو تا ناموس دسترسی داره.یعنی هر کاری دوست داری بکن دیگه.
امیدوارم خوشتون اومده باشه که اینطوری یه مقاله رو شکافتم. اگر دوست داشته باشید اینجوری براتون بازش کنم بگید تا مقالات بعدی رو خلاصه نکنم و این مدلی کامل بگم.
حالا لینک مقاله هم هست میتونید برید خودتون بررسی کنید.
📄 لینک مقاله کامل:
https://blog.nns.ee/2026/09/24/oneplus-root/
#Android #Security #OnePlus #OPPO #Root #Exploit #OxygenOS #PrivilegeEscalation #AndroidSec #Vulnerability #Infosec #Hacking
📢 @androidSec_fa