شناسه:
ROOT_MAGISK_PROPERTYدسته: روت و وضعیت سامانه وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: متوسط
این صفحه پیادهسازی واقعی RKNHardering 2.10.0 را توضیح میدهد. در آن مشخص شده است چه اقدامهایی بدون روت ممکناند، چه چیزهایی به روت نیاز دارند و کدام راهکار فقط یک سیگنال را کاهش میدهد، بیآنکه VPN را بهطور کامل پنهان کند.
پروب init.svc.magisk_daemon، init.svc.magisk_pfs و persist.magisk.hide را بررسی میکند. هر مقدار غیرخالی magisk_prop و یک finding بازبینی با اطمینان زیاد تولید میکند.
حداقل یکی از سه property در نمای property فرایند وجود داشته باشد و غیرخالی باشد.
این یک اثر قوی Magisk است، بهویژه در پیکربندیهای قدیمی یا مبتنی بر سازگاری. ممکن است نسخهٔ جدید همهٔ این نامها را استفاده نکند، بنابراین نتیجهٔ پاک Magisk را رد نمیکند.
تأثیر این خط بر گزارش: این خط بهتنهایی حکم نهایی صادر نمیکند، اما needsReview=true را تنظیم و شاهدی با اطمینان متوسط اضافه میکند.
از نظر نظری مؤلفهٔ OEM یا ماژول شخص ثالث میتواند property همنام بسازد. resetprop ممکن است آن را فقط در بعضی زمینهها پنهان کند و آثار mount یا مسیر باقی بمانند.
این خط باید همراه با سیگنالهای مجاور ارزیابی شود. پاکبودن نتیجهٔ یک API بهتنهایی Java Binder، libc، netlink خام/فراخوانی مستقیم سامانه، procfs/sysfs، سوکتهای محلی و نشانههای سمت سرور را همزمان پوشش نمیدهد.
اگر روت لازم نیست، راه قابلاعتماد بازگرداندن دستگاه به وضعیت استاندارد از مسیر رسمی است: روت را با مدیر خودش حذف کنید، یا پارتیشنهای کارخانهای boot/init_boot و system را که دقیقاً با build نصبشده تطبیق دارند flash کنید. bootloader باز، هستهٔ سفارشی و پوشههای باقیمانده حتی پس از حذف مدیر نیز میتوانند تغییر را آشکار کنند. پیش از بازیابی پشتیبان بگیرید؛ قفلکردن دوبارهٔ bootloader روی میانافزار تغییریافته ممکن است دادهها را پاک کند یا دستگاه را غیرقابلبوت سازد.
دسترسی روت فقط میتواند سطح قابلمشاهده را کاهش دهد؛ نبود روت را ثابت نمیکند. su را به کمترین تعداد برنامه بدهید، هرگز آن را به RKNHardering ندهید، ماژولهای غیرضروری را غیرفعال کنید و SELinux را permissive نکنید. رفتار App Profile/DenyList و جداسازی mount باید روی همان میانافزار بررسی شود. SUSFS و راهکارهای مشابه آزمایشیاند: به هستهٔ سازگار نیاز دارند و ممکن است آثار خودشان را ایجاد کنند. برای آزمون مرجع همچنان یک دستگاه استاندارد جدا لازم است. اگر property از ماژول قدیمی میآید، همان ماژول را از مدیر رسمی آن بهروزرسانی یا حذف کنید. از اسکریپت پنهانسازی دلخواهی که propertyهای init.svc.* را بهصورت گسترده بازنویسی میکند استفاده نکنید.
adb shell getprop init.svc.magisk_daemon
adb shell getprop init.svc.magisk_pfs
adb shell getprop persist.magisk.hide
پس از توقف اجباری و اجرای دوبارهٔ برنامه، مقادیر را با detail مقایسه کنید.
پس از هر تغییر، RKNHardering و سرویسگیرندهٔ VPN را بهاجبار متوقف کنید، هر دو را دوباره اجرا کنید و اسکن کامل را تکرار کنید. Zygisk، Xposed و ماژولهای هسته معمولاً به راهاندازی مجدد دستگاه نیاز دارند. فقط همین خط را مقایسه نکنید؛ سیگنالهای مجاور را نیز بررسی کنید، زیرا یک هوک ناقص اغلب میان APIها ناسازگاری ایجاد میکند.
خود پروب با مجوزهای معمول برنامه اجرا میشود و روت درخواست نمیکند. دستورهای ADB زیر فقط برای جهتیابی تشخیصیاند: adb shell با UID دیگری اجرا میشود و ممکن است نسبت به فرایند برنامه اطلاعات بیشتر یا کمتری ببیند. آزمون تعیینکننده، اجرای دوبارهٔ بررسی درون برنامه پس از توقف اجباری است.
جایگزینکردن property یک سرویس init میتواند مدیریت سرویس را مختل و عیبیابی را دشوار کند. تغییر اسکریپتهای بوت ممکن است boot loop ایجاد کند.
قاعدهٔ resetprop یا ماژول قدیمی افزودهشده را حذف کنید و دستگاه را دوباره راهاندازی کنید. برای unroot کامل، دستورالعمل رسمی Magisk را دنبال کنید.
متوسط. آرایهٔ kMagiskProps بررسی شده است؛ Kotlin finding بازبینی با اطمینان زیاد میدهد.
وضعیت یک راهکار شخص ثالث خودبهخود به این دستگاه تعمیم پیدا نمیکند. ادعای سازندهٔ ماژول فقط فرضیهٔ آغازین است؛ تأیید واقعی به نتیجهای تکرارپذیر از RKNHardering روی همان نسخهٔ Android، میانافزار و هسته نیاز دارد.
native_signs_probe.cpp — پیادهسازی پروب بومی.NativeSignsChecker.kt — منطق اصلی حکم بومی/قدیمی.NativeSignalId.kt — رجیستری کامل شناسهها.NativeSignalCatalog.kt — نگاشت دسته، slug و خط خروجی.سیگنالهای مرتبط: root-property, root-management, root-suspicious-mount.