RKNHardering Help

userId مربوط به clone/dual-app در OEM

شناسه: ISOLATION_CLONE دسته: شبیه‌سازی، پروفایل‌ها و جداسازی وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: متوسط

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

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

user ID از dataDir استخراج می‌شود. مقدار 999 یا بازهٔ 950..959 به‌عنوان containerِ clone/dual-app در نظر گرفته می‌شود که در کد بازهٔ Dual Apps در MIUI نامیده شده، و finding بازبینی با اطمینان متوسط ایجاد می‌کند.

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

مسیر برنامه با /data/user/999/ یا /data/user/950..959/ تطبیق داشته باشد.

معنای نتیجه

سیگنال کاربر واقعی Android را مشخص می‌کند، نه محصول خاص clone کردن برنامه. UIDهای جدا، package visibility و تنظیمات شبکه را توضیح می‌دهد.

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

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

OEM می‌تواند user ID دیگری به‌کار ببرد و بازهٔ فهرست‌شده از نظر نظری متعلق به نوع کاربر دیگری باشد. parserِ dataDir نوع را از UserManager نمی‌خواند.

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

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

بدون روت

اگر پروفایل بخشی از آزمون نیست، برنامه را زیر کاربر اصلی (user 0) نصب و اجرا کنید. پیش از حذف work profile، Private Space یا پروفایل clone از داده‌های آن export بگیرید؛ حذف پروفایل برنامه‌ها و storage آن را پاک می‌کند. Shelter و Insular برای پروفایل مدیریت‌شده مفیدند، اما وجود کاربر جداگانهٔ Android را پنهان نمی‌کنند. در تنظیمات OEM، Dual Apps یا Second Space را مشخصاً برای RKNHardering غیرفعال کنید و آن را زیر کاربر owner دوباره نصب کنید.

با روت

spoof کردن user ID، مسیر /data/user/<id> یا پاسخ‌های DevicePolicyManager با روت وضعیت ناسازگار می‌سازد و ممکن است پروفایل را خراب کند. اجرای برنامه زیر کاربر درست امن‌تر از mask کردن پروفایل است. هوک‌های درون فرایند هدف برای یک بررسی می‌توانند علاوه بر آن HOOK_MARKERS، RWX_MEMORY_REGIONS و LIBRARY_INTEGRITY را فعال کنند.

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

adb shell pm list users
adb shell dumpsys package com.notcvnt.rknhardering | grep -E 'userId=|dataDir='

در نسخه‌های جدید Android ممکن است package dump بعضی مسیرها را پنهان کند.

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

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

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

خطرها

حذف clone دادهٔ جداگانهٔ آن را پاک می‌کند. محتوای dataDir را دستی میان UIDها جابه‌جا نکنید.

بازگردانی

cloneِ OEM را دوباره فعال و دادهٔ exportشده را با سازوکار عادی برنامه بازیابی کنید.

سطح شواهد

متوسط. مجموعهٔ CLONE_USER_IDS={999} و بازهٔ 950..959 بررسی شده‌اند.

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

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

سیگنال‌های مرتبط: isolation-secondary-user, isolation-work-profile.

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