شناسه:
ISOLATION_SECONDARY_USERدسته: شبیهسازی، پروفایلها و جداسازی وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: متوسط
این صفحه پیادهسازی واقعی RKNHardering 2.10.0 را توضیح میدهد. در آن مشخص شده است چه اقدامهایی بدون روت ممکناند، چه چیزهایی به روت نیاز دارند و کدام راهکار فقط یک سیگنال را کاهش میدهد، بیآنکه VPN را بهطور کامل پنهان کند.
اگر user ID استخراجشده 0 نباشد و در مجموعهٔ clone قرار نگیرد، بررسیکننده ISOLATION_SECONDARY_USER را با finding بازبینی اطمینان متوسط میسازد.
dataDir به شکل /data/user/<id>/ باشد که <id> != 0 است و 999 یا بازهٔ 950..959 نیست.
یک کاربر جداگانهٔ Android را مشخص میکند. حالت چندکاربره طبیعی است، اما مجموعهٔ برنامههای نصبشده، پیکربندی VPN و policy شبکه را نسبت به owner تغییر میدهد.
تأثیر این خط بر گزارش: این خط بهتنهایی حکم نهایی صادر نمیکند، اما needsReview=true را تنظیم و شاهدی با اطمینان متوسط اضافه میکند.
مسیر /data/user_de/ و رفتار vendor ممکن است با regex تطبیق نداشته باشد. Private Space یا work profile نیز وقتی user ID غیرصفر دارند میتوانند وارد همین شاخه شوند.
این خط باید همراه با سیگنالهای مجاور ارزیابی شود. پاکبودن نتیجهٔ یک API بهتنهایی Java Binder، libc، netlink خام/فراخوانی مستقیم سامانه، procfs/sysfs، سوکتهای محلی و نشانههای سمت سرور را همزمان پوشش نمیدهد.
اگر پروفایل بخشی از آزمون نیست، برنامه را زیر کاربر اصلی (user 0) نصب و اجرا کنید. پیش از حذف work profile، Private Space یا پروفایل clone از دادههای آن export بگیرید؛ حذف پروفایل برنامهها و storage آن را پاک میکند. Shelter و Insular برای پروفایل مدیریتشده مفیدند، اما وجود کاربر جداگانهٔ Android را پنهان نمیکنند.
spoof کردن user ID، مسیر /data/user/<id> یا پاسخهای DevicePolicyManager با روت وضعیت ناسازگار میسازد و ممکن است پروفایل را خراب کند. اجرای برنامه زیر کاربر درست امنتر از mask کردن پروفایل است. هوکهای درون فرایند هدف برای یک بررسی میتوانند علاوه بر آن HOOK_MARKERS، RWX_MEMORY_REGIONS و LIBRARY_INTEGRITY را فعال کنند.
adb shell pm list users
adb shell am get-current-user
adb shell cmd user list
تأیید کنید package برای کدام کاربر نصب است: adb shell pm list packages --user 0 | grep rknhardering.
پس از هر تغییر، RKNHardering و سرویسگیرندهٔ VPN را بهاجبار متوقف کنید، هر دو را دوباره اجرا کنید و اسکن کامل را تکرار کنید. Zygisk، Xposed و ماژولهای هسته معمولاً به راهاندازی مجدد دستگاه نیاز دارند. فقط همین خط را مقایسه نکنید؛ سیگنالهای مجاور را نیز بررسی کنید، زیرا یک هوک ناقص اغلب میان APIها ناسازگاری ایجاد میکند.
خود پروب با مجوزهای معمول برنامه اجرا میشود و روت درخواست نمیکند. دستورهای ADB زیر فقط برای جهتیابی تشخیصیاند: adb shell با UID دیگری اجرا میشود و ممکن است نسبت به فرایند برنامه اطلاعات بیشتر یا کمتری ببیند. آزمون تعیینکننده، اجرای دوبارهٔ بررسی درون برنامه پس از توقف اجباری است.
حذف کاربر ثانویه همهٔ دادههای آن کاربر را پاک میکند، نه فقط RKNHardering را.
کاربر را دوباره بسازید و backup را بازیابی کنید. دادهٔ برنامه را دستی میان UIDها کپی نکنید.
متوسط. شاخهٔ else if (userId != 0) بررسی شده است.
وضعیت یک راهکار شخص ثالث خودبهخود به این دستگاه تعمیم پیدا نمیکند. ادعای سازندهٔ ماژول فقط فرضیهٔ آغازین است؛ تأیید واقعی به نتیجهای تکرارپذیر از RKNHardering روی همان نسخهٔ Android، میانافزار و هسته نیاز دارد.
NativeSignsChecker.kt — منطق اصلی حکم بومی/قدیمی.NativeSignalId.kt — رجیستری کامل شناسهها.NativeSignalCatalog.kt — نگاشت دسته، slug و خط خروجی.سیگنالهای مرتبط: isolation-clone, isolation-work-profile.