RKNHardering Help

Goldfish в /proc/tty/drivers

ID: EMULATOR_QEMU_DRIVER Категория: Эмуляция, профили и изоляция Статус в RKNHardering 2.10.0: Активная проверка Роль в вердикте: Средняя

Эта страница описывает фактическую реализацию RKNHardering 2.10.0. Здесь отдельно указано, что можно сделать без root, что требует root, а также где способ только уменьшает один сигнал, но не скрывает VPN целиком.

Что проверяется и зачем

Функция построчно читает /proc/tty/drivers и ищет literal goldfish. При совпадении создаётся qemu_driver; Kotlin считает его medium confidence, потому что этот kind не входит в high allowlist.

Точное условие срабатывания

Подстрока goldfish присутствует в procfs списке TTY drivers.

Что означает результат

Указывает на драйвер эмуляторной платформы в ядре. Уверенность medium в текущей политике, несмотря на специфичность marker.

Как строка влияет на отчёт: Строка не даёт самостоятельный окончательный вердикт, но выставляет needsReview=true и добавляет доказательство средней уверенности.

Ограничения и возможные ложные срабатывания

Доступ к procfs может различаться по Android/SELinux. Kernel может включать драйвер, даже если соответствующее устройство не используется.

Важно оценивать эту строку вместе с соседними сигналами. Один чистый API не перекрывает Java Binder, libc, raw netlink/syscall, procfs/sysfs, локальные сокеты и серверные признаки одновременно.

Рекомендации для этого вектора

Без root

Для отсутствия этого класса признаков используйте физическое устройство с production-сборкой. Свойства QEMU, goldfish/ranchu, специальные устройства и build fingerprint являются частью окружения; обычное приложение не может согласованно изменить их без системной модификации. Облачный телефон или OEM-клон тоже следует считать отдельным окружением и сравнивать с физическим baseline.

С root

Подмена пары getprop значений не делает эмулятор физическим устройством: остаются драйверы, /dev-узлы, аппаратный профиль, ABI и поведение ядра. Root-модули для spoofing могут убрать один marker и создать hook/property/library mismatch. Для разработки допустимо использовать их как эксперимент, но для корректного результата RKNHardering лучше запускать на реальном устройстве. Скрытие одной procfs-строки требует kernel/proc hook и не изменяет реальный hardware profile.

Как проверить результат

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

permission denied — недостаточные права, а не clean.

После любого изменения сделайте force-stop RKNHardering и VPN-клиента, запустите их заново и повторите полный scan. Для Zygisk/Xposed/kernel-модулей обычно нужна перезагрузка. Сравнивайте не только эту строку, но и соседние сигналы: частичный hook часто создаёт несогласованность между API.

Необходимые права и риски

Сама проба выполняется с обычными правами приложения и не запрашивает root. ADB-команды ниже служат только для ориентира: adb shell работает под другим UID и может видеть больше или меньше, чем процесс приложения. Решающий тест — повторный запуск самой проверки после force-stop.

Риски

Патч списка драйверов или отключение TTY driver может нарушить консоль и связь guest/host.

Откат

Верните исходное ядро или snapshot.

Уровень доказательности

Средняя. Проверено по fileContains('/proc/tty/drivers', 'goldfish'); confidence medium.

Статус стороннего решения не переносится автоматически на это устройство. Заявление разработчика модуля — это исходная гипотеза; подтверждением служит повторяемый результат RKNHardering на конкретной версии Android, прошивки и ядра.

Источники и дата последней проверки

Связанные сигналы: emulator-goldfish, emulator-qemu-pipe.

К справочнику Native signs