شناسه:
SYSCALL_UNAVAILABLEدسته: سیگنالهای سرویس وضعیت در RKNHardering 2.10.0: بررسی فعال نقش در حکم نهایی: دسترسپذیری
این صفحه پیادهسازی واقعی RKNHardering 2.10.0 را توضیح میدهد. در آن مشخص شده است چه اقدامهایی بدون روت ممکناند، چه چیزهایی به روت نیاز دارند و کدام راهکار فقط یک سیگنال را کاهش میدهد، بیآنکه VPN را بهطور کامل پنهان کند.
بررسیکنندهٔ قدیمی همهٔ ردیفهای unavailable* از گروه syscall را جمع میکند. تولیدکنندهٔ فعلی یکی از unavailable|ip_recverr|denied یا unavailable|ip_recverr|not_supported را میسازد. این نتایج زیر شناسهٔ SYSCALL_UNAVAILABLE بهصورت دادهٔ اطلاعرسان با اطمینان پایین نمایش داده میشوند.
پروب نتواند IP_RECVERR را بهدلیل EACCES/EPERM یا ENOPROTOOPT فعال کند.
دردسترسنبودن به معنی پاکبودن سیستم نیست. یعنی این مسیر هیچ اندازهگیریای تولید نکرده است؛ یافتههای بازبینی سیگنالهای مجاور همچنان معتبرند.
تأثیر این خط بر گزارش: این سیگنال یعنی اجرای پروب ممکن نبوده است. نباید unavailable را مدرکی برای نبود VPN دانست.
این شناسه تجمیعی است و نسخههای آینده ممکن است انواع unavailable جدیدی به آن اضافه کنند. بدون errno یا گزارش زمینه، جزئیات فعلی تفاوت محدودیت SELinux و نبود قابلیت هسته را بهاندازهٔ کافی روشن نمیکند.
این خط باید همراه با سیگنالهای مجاور ارزیابی شود. پاکبودن نتیجهٔ یک API بهتنهایی Java Binder، libc، netlink خام/فراخوانی مستقیم سامانه، procfs/sysfs، سوکتهای محلی و نشانههای سمت سرور را همزمان پوشش نمیدهد.
SELinux را در حالت enforcing نگه دارید. ثبت کنید نتیجه denied است یا not_supported و مدل دستگاه، نسخهٔ Android و هسته را نیز ذخیره کنید. فقط برای این تشخیص روت نگیرید.
گزارشهای AVC و سازگاری هسته را بررسی کنید، اما قاعدهٔ allow گسترده اضافه نکنید. برای آزمون، رفتار را در APK حداقلی جداگانه بازتولید کنید.
adb logcat -d | grep -E 'avc: denied|IP_RECVERR' | tail -80
adb shell uname -a
دردسترسبودن از سوکت shell معادل دردسترسبودن در دامنهٔ برنامه نیست.
پس از هر تغییر، RKNHardering و سرویسگیرندهٔ VPN را بهاجبار متوقف کنید، هر دو را دوباره اجرا کنید و اسکن کامل را تکرار کنید. Zygisk، Xposed و ماژولهای هسته معمولاً به راهاندازی مجدد دستگاه نیاز دارند. فقط همین خط را مقایسه نکنید؛ سیگنالهای مجاور را نیز بررسی کنید، زیرا یک هوک ناقص اغلب میان APIها ناسازگاری ایجاد میکند.
خود پروب با مجوزهای معمول برنامه اجرا میشود و روت درخواست نمیکند. دستورهای ADB زیر فقط برای جهتیابی تشخیصیاند: adb shell با UID دیگری اجرا میشود و ممکن است نسبت به فرایند برنامه اطلاعات بیشتر یا کمتری ببیند. آزمون تعیینکننده، اجرای دوبارهٔ بررسی درون برنامه پس از توقف اجباری است.
قاعدهٔ گستردهٔ sepolicy برای گزینههای شبکه sandbox را تضعیف میکند. نتیجهٔ unavailable از privilege نادرست و بیشازحد امنتر است.
قاعده یا ماژول آزمایشی sepolicy را حذف و دستگاه را ریبوت کنید.
دردسترسبودن. تجمیع unavailableSyscalls و تنها تولیدکنندهٔ فعلی راستیآزمایی شدهاند.
وضعیت یک راهکار شخص ثالث خودبهخود به این دستگاه تعمیم پیدا نمیکند. ادعای سازندهٔ ماژول فقط فرضیهٔ آغازین است؛ تأیید واقعی به نتیجهای تکرارپذیر از RKNHardering روی همان نسخهٔ Android، میانافزار و هسته نیاز دارد.
native_signs_probe.cpp — پیادهسازی پروب بومی.NativeSignsChecker.kt — منطق اصلی حکم بومی/قدیمی.NativeSignalId.kt — رجیستری کامل شناسهها.NativeSignalCatalog.kt — نگاشت دسته، slug و خط خروجی.سیگنالهای مرتبط: ip-recverr, native-library.