RKNHardering Help

Goldfish در /proc/tty/drivers

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

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

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

تابع /proc/tty/drivers را سطر به سطر می‌خواند و رشتهٔ literalِ goldfish را جست‌وجو می‌کند. تطبیق، qemu_driver را تولید می‌کند؛ Kotlin آن را با اطمینان متوسط در نظر می‌گیرد، زیرا این kind در allowlist اطمینان زیاد نیست.

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

زیررشتهٔ goldfish در فهرست procfs مربوط به driverهای TTY دیده شود.

معنای نتیجه

وجود driver پلتفرم شبیه‌ساز در هسته را نشان می‌دهد. با وجود اختصاصی‌بودن نشانگر، policy فعلی سطح اطمینان را متوسط نگه می‌دارد.

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

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

دسترسی به procfs بسته به نسخهٔ Android و policyِ SELinux متفاوت است. ممکن است driver در هسته وجود داشته باشد، حتی اگر دستگاه متناظر در حال استفاده نباشد.

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

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

بدون روت

برای پرهیز از این دسته نشانه‌ها، از دستگاه فیزیکی با build تولیدی استفاده کنید. propertyهای QEMU، نشانگرهای goldfish/ranchu، دستگاه‌های ویژه و fingerprint ساخت بخشی از محیط‌اند؛ برنامهٔ عادی نمی‌تواند بدون تغییر سیستمی آن‌ها را به‌طور سازگار عوض کند. تلفن ابری یا clone سازنده را نیز محیطی جدا بدانید و با خط مبنای دستگاه فیزیکی مقایسه کنید.

با روت

spoof کردن چند مقدار getprop شبیه‌ساز را به دستگاه فیزیکی تبدیل نمی‌کند: driverها، nodeهای /dev، پروفایل سخت‌افزار، ABI و رفتار هسته باقی می‌مانند. ماژول‌های روت برای spoof ممکن است یک نشانگر را حذف کنند و هم‌زمان ناسازگاری هوک، property یا library بسازند. این کار برای آزمایش توسعه قابل‌قبول است، اما برای نتیجهٔ معتبر باید RKNHardering روی دستگاه واقعی اجرا شود. پنهان‌کردن یک سطر procfs به هوک هسته/proc نیاز دارد و پروفایل واقعی سخت‌افزار را تغییر نمی‌دهد.

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

adb shell grep -i goldfish /proc/tty/drivers 2>/dev/null

permission denied یعنی مجوز کافی وجود ندارد، نه اینکه نتیجه پاک است.

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

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

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

خطرها

patch کردن فهرست driverها یا غیرفعال‌کردن driverِ TTY ممکن است console و ارتباط مهمان/میزبان را خراب کند.

بازگردانی

هسته یا snapshot اصلی را بازیابی کنید.

سطح شواهد

متوسط. شرط fileContains('/proc/tty/drivers', 'goldfish') بررسی شده است؛ اطمینان متوسط.

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

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

سیگنال‌های مرتبط: emulator-goldfish, emulator-qemu-pipe.

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