شناسه:
ROOT_MANAGEMENTدسته: روت و وضعیت سامانه وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: متوسط
این صفحه پیادهسازی واقعی RKNHardering 2.10.0 را توضیح میدهد. در آن مشخص شده است چه اقدامهایی بدون روت ممکناند، چه چیزهایی به روت نیاز دارند و کدام راهکار فقط یک سیگنال را کاهش میدهد، بیآنکه VPN را بهطور کامل پنهان کند.
nativeDetectRoot() مسیرهای /data/adb/magisk، /data/adb/modules، /data/adb/ksu، /data/adb/ksud، APKها و پوشههای قدیمی Superuser/SuperSU، daemonsu، یک اسکریپت init.d و /dev/com.koushikdutta.superuser.daemon را بررسی میکند. مسیر قابلدسترسی finding بازبینی با اطمینان زیاد ایجاد میکند.
access(F_OK) برای هر مسیر در فهرست ثابت موفق شود.
این اثر قوی نصبشدن یا حذف ناقص پشتهٔ روت است. ثابت نمیکند ماژول اکنون فعال است.
تأثیر این خط بر گزارش: این خط بهتنهایی حکم نهایی صادر نمیکند، اما needsReview=true را تنظیم و شاهدی با اطمینان متوسط اضافه میکند.
مدیر جدید ممکن است دادهها را در جای دیگری نگه دارد و SELinux یا namespaceِ mount مسیر را پنهان کند. /data/adb/modules ممکن است پس از نصب قدیمی باقی بماند، حتی وقتی su دیگر فعال نیست.
این خط باید همراه با سیگنالهای مجاور ارزیابی شود. پاکبودن نتیجهٔ یک API بهتنهایی Java Binder، libc، netlink خام/فراخوانی مستقیم سامانه، procfs/sysfs، سوکتهای محلی و نشانههای سمت سرور را همزمان پوشش نمیدهد.
اگر روت لازم نیست، راه قابلاعتماد بازگرداندن دستگاه به وضعیت استاندارد از مسیر رسمی است: روت را با مدیر خودش حذف کنید، یا پارتیشنهای کارخانهای boot/init_boot و system را که دقیقاً با build نصبشده تطبیق دارند flash کنید. bootloader باز، هستهٔ سفارشی و پوشههای باقیمانده حتی پس از حذف مدیر نیز میتوانند تغییر را آشکار کنند. پیش از بازیابی پشتیبان بگیرید؛ قفلکردن دوبارهٔ bootloader روی میانافزار تغییریافته ممکن است دادهها را پاک کند یا دستگاه را غیرقابلبوت سازد. پس از unroot عادی، باقیماندهها را فقطخواندنی بررسی کنید. /data/adb را کورکورانه حذف نکنید؛ ممکن است دادهٔ ماژول و سازوکار بازیابی را در خود داشته باشد.
دسترسی روت فقط میتواند سطح قابلمشاهده را کاهش دهد؛ نبود روت را ثابت نمیکند. su را به کمترین تعداد برنامه بدهید، هرگز آن را به RKNHardering ندهید، ماژولهای غیرضروری را غیرفعال کنید و SELinux را permissive نکنید. رفتار App Profile/DenyList و جداسازی mount باید روی همان میانافزار بررسی شود. SUSFS و راهکارهای مشابه آزمایشیاند: به هستهٔ سازگار نیاز دارند و ممکن است آثار خودشان را ایجاد کنند. برای آزمون مرجع همچنان یک دستگاه استاندارد جدا لازم است. جداسازی مسیر برای UID هدف باید با /proc/self/mounts و وضعیت overlay سازگار باشد. اگر مسیر پنهان شود ولی mount دیده شود، بررسی مجاور فعال خواهد شد.
adb shell 'for p in /data/adb/magisk /data/adb/modules /data/adb/ksu /data/adb/ksud /system/app/Superuser.apk /system/app/SuperSU.apk /system/app/SuperSU /system/xbin/daemonsu /system/etc/init.d/99SuperSUDaemon /dev/com.koushikdutta.superuser.daemon; do [ -e "$p" ] && echo "$p"; done'
shell بدون روت نمیتواند بعضی مسیرهای /data/adb را بخواند.
پس از هر تغییر، RKNHardering و سرویسگیرندهٔ VPN را بهاجبار متوقف کنید، هر دو را دوباره اجرا کنید و اسکن کامل را تکرار کنید. Zygisk، Xposed و ماژولهای هسته معمولاً به راهاندازی مجدد دستگاه نیاز دارند. فقط همین خط را مقایسه نکنید؛ سیگنالهای مجاور را نیز بررسی کنید، زیرا یک هوک ناقص اغلب میان APIها ناسازگاری ایجاد میکند.
خود پروب با مجوزهای معمول برنامه اجرا میشود و روت درخواست نمیکند. دستورهای ADB زیر فقط برای جهتیابی تشخیصیاند: adb shell با UID دیگری اجرا میشود و ممکن است نسبت به فرایند برنامه اطلاعات بیشتر یا کمتری ببیند. آزمون تعیینکننده، اجرای دوبارهٔ بررسی درون برنامه پس از توقف اجباری است.
حذف دستی پوشهٔ ماژول ممکن است پشتیبانی safe mode یا rollback را از بین ببرد یا mountها را در وضعیت نیمهپیکربندیشده رها کند. از رابط مدیر روت استفاده کنید.
اگر ماژول پنهانسازی را آزمایش کردهاید، از سازوکار معمول خودش غیرفعالش کنید. برای حذف کامل، روش رسمی uninstall را اجرا و image بوت را بازیابی کنید.
متوسط. آرایهٔ kRootMgmtPaths بررسی شده است؛ هر سطر تطبیقیافته finding بازبینی با اطمینان زیاد میگیرد.
وضعیت یک راهکار شخص ثالث خودبهخود به این دستگاه تعمیم پیدا نمیکند. ادعای سازندهٔ ماژول فقط فرضیهٔ آغازین است؛ تأیید واقعی به نتیجهای تکرارپذیر از RKNHardering روی همان نسخهٔ Android، میانافزار و هسته نیاز دارد.
native_signs_probe.cpp — پیادهسازی پروب بومی.NativeSignsChecker.kt — منطق اصلی حکم بومی/قدیمی.NativeSignalId.kt — رجیستری کامل شناسهها.NativeSignalCatalog.kt — نگاشت دسته، slug و خط خروجی.سیگنالهای مرتبط: root-su-binary, root-suspicious-mount, root-overlay-mount.