شناسه:
ROOT_UIDدسته: روت و وضعیت سامانه وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: متوسط
این صفحه پیادهسازی واقعی RKNHardering 2.10.0 را توضیح میدهد. در آن مشخص شده است چه اقدامهایی بدون روت ممکناند، چه چیزهایی به روت نیاز دارند و کدام راهکار فقط یک سیگنال را کاهش میدهد، بیآنکه VPN را بهطور کامل پنهان کند.
پروب getuid()، geteuid() و getgid() را فراخوانی میکند. اگر هر مقدار صفر باشد، detail هر سه عدد را دارد و بررسیکننده finding بازبینی با اطمینان زیاد میدهد.
RKNHardering واقعاً با UID، EUID یا GID برابر 0 اجرا شود.
برای برنامهٔ عادی Android این ناهنجاری بسیار قوی است. علتهای رایج عبارتاند از اجرا زیر روت یا داخل container، launcher تغییریافته یا test harness.
تأثیر این خط بر گزارش: این خط بهتنهایی حکم نهایی صادر نمیکند، اما needsReview=true را تنظیم و شاهدی با اطمینان متوسط اضافه میکند.
روت عادی دستگاه باعث نمیشود همهٔ برنامهها با UID صفر اجرا شوند؛ بنابراین نبود این سیگنال دربارهٔ Magisk یا KernelSU چیزی نمیگوید. گروههای تکمیلی privileged بهجز GID صفر در اینجا تحلیل نمیشوند.
این خط باید همراه با سیگنالهای مجاور ارزیابی شود. پاکبودن نتیجهٔ یک API بهتنهایی Java Binder، libc، netlink خام/فراخوانی مستقیم سامانه، procfs/sysfs، سوکتهای محلی و نشانههای سمت سرور را همزمان پوشش نمیدهد.
APK را از PackageManager عادی نصب و از launcher استاندارد اجرا کنید. از su -c am start یا wrapper روت استفاده نکنید. نصب دوباره برای کاربر owner معمولاً UID عادی برنامه را بازمیگرداند.
به برنامه روت ندهید و تأیید کنید هیچ ماژولی credentialهای فرایند آن را تغییر نمیدهد. پنهانسازی روت راهحل این مورد نیست؛ وضعیت درست، UID عادی برنامه است حتی وقتی مدیر روت نصب شده باشد.
adb shell pidof com.notcvnt.rknhardering
adb shell ps -A -o USER,UID,GID,PID,NAME | grep rknhardering
قالب ps در بعضی نسخههای Android متفاوت است؛ detail برنامه منبع نهایی حقیقت است.
پس از هر تغییر، RKNHardering و سرویسگیرندهٔ VPN را بهاجبار متوقف کنید، هر دو را دوباره اجرا کنید و اسکن کامل را تکرار کنید. Zygisk، Xposed و ماژولهای هسته معمولاً به راهاندازی مجدد دستگاه نیاز دارند. فقط همین خط را مقایسه نکنید؛ سیگنالهای مجاور را نیز بررسی کنید، زیرا یک هوک ناقص اغلب میان APIها ناسازگاری ایجاد میکند.
خود پروب با مجوزهای معمول برنامه اجرا میشود و روت درخواست نمیکند. دستورهای ADB زیر فقط برای جهتیابی تشخیصیاند: adb shell با UID دیگری اجرا میشود و ممکن است نسبت به فرایند برنامه اطلاعات بیشتر یا کمتری ببیند. آزمون تعیینکننده، اجرای دوبارهٔ بررسی درون برنامه پس از توقف اجباری است.
اجرای برنامهٔ گرافیکی با UID صفر دسترسی کامل به دادهها میدهد و اثر هر باگ را بهشدت افزایش میدهد.
wrapper روت را متوقف کنید، ورودی autostart آن را بردارید و APK را بهصورت عادی دوباره نصب کنید.
متوسط. شرط مستقیم uid/euid/gid == 0 بررسی شده است.
وضعیت یک راهکار شخص ثالث خودبهخود به این دستگاه تعمیم پیدا نمیکند. ادعای سازندهٔ ماژول فقط فرضیهٔ آغازین است؛ تأیید واقعی به نتیجهای تکرارپذیر از RKNHardering روی همان نسخهٔ Android، میانافزار و هسته نیاز دارد.
native_signs_probe.cpp — پیادهسازی پروب بومی.NativeSignsChecker.kt — منطق اصلی حکم بومی/قدیمی.NativeSignalId.kt — رجیستری کامل شناسهها.NativeSignalCatalog.kt — نگاشت دسته، slug و خط خروجی.سیگنالهای مرتبط: root-su-binary, root-management.