RKNHardering Help

mount از نوع overlay روی /system یا /vendor

شناسه: ROOT_OVERLAY_MOUNT دسته: روت و وضعیت سامانه وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: متوسط

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

چه چیزی بررسی می‌شود و چرا

C++ برای سطر /proc/self/mounts که شامل overlay و یکی از /system یا /vendor باشد overlay_mount تولید می‌کند. بااین‌حال Kotlin عمداً سطر را کنار می‌گذارد، مگر اینکه detail حاوی نشانگر روت با اطمینان زیاد باشد: magisk، zygisk، lsposed، riru، kernelsu، apatch، /data/adb یا core-only. فقط نشانگر تأییدشده به finding بازبینی با اطمینان زیاد تبدیل می‌شود.

شرط دقیق فعال‌شدن

وجود overlay روی system یا vendor همراه با نشانگر روت در همان سطر detail.

معنای نتیجه

سیگنال استفادهٔ عادی از overlayfs را از mount مربوط به روت یا systemless جدا می‌کند. بررسی‌کنندهٔ فعلی وقتی نشانگری نباشد overlay را به‌تنهایی نمایش نمی‌دهد.

تأثیر این خط بر گزارش: این خط به‌تنهایی حکم نهایی صادر نمی‌کند، اما needsReview=true را تنظیم و شاهدی با اطمینان متوسط اضافه می‌کند.

محدودیت‌ها و مثبت‌های کاذب احتمالی

قالب رشتهٔ mount به هسته و مدیر روت بستگی دارد. ممکن است نشانگر پنهان شود ولی overlay باقی بماند؛ فیلتر فعلی Kotlin چنین سطری را حذف می‌کند.

این خط باید همراه با سیگنال‌های مجاور ارزیابی شود. پاک‌بودن نتیجهٔ یک API به‌تنهایی Java Binder، libc، netlink خام/فراخوانی مستقیم سامانه، procfs/sysfs، سوکت‌های محلی و نشانه‌های سمت سرور را هم‌زمان پوشش نمی‌دهد.

توصیه‌ها برای این بردار

بدون روت

اگر روت لازم نیست، راه قابل‌اعتماد بازگرداندن دستگاه به وضعیت استاندارد از مسیر رسمی است: روت را با مدیر خودش حذف کنید، یا پارتیشن‌های کارخانه‌ای boot/init_boot و system را که دقیقاً با build نصب‌شده تطبیق دارند flash کنید. bootloader باز، هستهٔ سفارشی و پوشه‌های باقی‌مانده حتی پس از حذف مدیر نیز می‌توانند تغییر را آشکار کنند. پیش از بازیابی پشتیبان بگیرید؛ قفل‌کردن دوبارهٔ bootloader روی میان‌افزار تغییریافته ممکن است داده‌ها را پاک کند یا دستگاه را غیرقابل‌بوت سازد.

با روت

دسترسی روت فقط می‌تواند سطح قابل‌مشاهده را کاهش دهد؛ نبود روت را ثابت نمی‌کند. su را به کمترین تعداد برنامه بدهید، هرگز آن را به RKNHardering ندهید، ماژول‌های غیرضروری را غیرفعال کنید و SELinux را permissive نکنید. رفتار App Profile/DenyList و جداسازی mount باید روی همان میان‌افزار بررسی شود. SUSFS و راهکارهای مشابه آزمایشی‌اند: به هستهٔ سازگار نیاز دارند و ممکن است آثار خودشان را ایجاد کنند. برای آزمون مرجع همچنان یک دستگاه استاندارد جدا لازم است. تا زمانی که ماژول‌ها به overlayfs وابسته‌اند و مسیر rollback بوت آماده نیست، آن را غیرفعال نکنید. کاهش تعداد ماژول‌ها سطح overlay را کم می‌کند.

روش راستی‌آزمایی نتیجه

adb shell cat /proc/self/mounts | grep -E 'overlay.*(/system|/vendor)|(/system|/vendor).*overlay'

سطر کامل را با نشانگری که در detail داخلی آمده مقایسه کنید.

پس از هر تغییر، RKNHardering و سرویس‌گیرندهٔ VPN را به‌اجبار متوقف کنید، هر دو را دوباره اجرا کنید و اسکن کامل را تکرار کنید. Zygisk، Xposed و ماژول‌های هسته معمولاً به راه‌اندازی مجدد دستگاه نیاز دارند. فقط همین خط را مقایسه نکنید؛ سیگنال‌های مجاور را نیز بررسی کنید، زیرا یک هوک ناقص اغلب میان APIها ناسازگاری ایجاد می‌کند.

مجوزهای لازم و خطرها

خود پروب با مجوزهای معمول برنامه اجرا می‌شود و روت درخواست نمی‌کند. دستورهای ADB زیر فقط برای جهت‌یابی تشخیصی‌اند: adb shell با UID دیگری اجرا می‌شود و ممکن است نسبت به فرایند برنامه اطلاعات بیشتر یا کمتری ببیند. آزمون تعیین‌کننده، اجرای دوبارهٔ بررسی درون برنامه پس از توقف اجباری است.

خطرها

unmount کردن overlay یا تغییر پوشه‌های lower، upper یا work ممکن است سرویس‌های سیستمی را crash کند و boot loop بسازد.

بازگردانی

ماژول مسئول را از safe mode مدیر روت غیرفعال کنید یا image بوت سالم شناخته‌شده را بازیابی کنید. پیش از بوت موفق در وضعیت پاک، پوشهٔ upper را حذف نکنید.

سطح شواهد

متوسط. شرط overlay/system/vendor در C++ و فیلتر نشانگر با اطمینان زیاد در Kotlin بررسی شده‌اند.

وضعیت یک راهکار شخص ثالث خودبه‌خود به این دستگاه تعمیم پیدا نمی‌کند. ادعای سازندهٔ ماژول فقط فرضیهٔ آغازین است؛ تأیید واقعی به نتیجه‌ای تکرارپذیر از RKNHardering روی همان نسخهٔ Android، میان‌افزار و هسته نیاز دارد.

منابع و تاریخ آخرین راستی‌آزمایی

سیگنال‌های مرتبط: root-suspicious-mount, root-system-rw, root-management.

بازگشت به مرجع بررسی‌های بومی