NimbusX
00
› strona wczytana
← bloga
mobilny15.07.20267 minut

Mobilny odcisk bez telefonu

Profil Androida działa na zwykłym komputerze i otrzymuje od iphey werdykt Trustworthy. Kosztowna lekcja polegała na tym, aby nie przypisywać ręcznie sprzętu telefonu. Pozostaje jedno ograniczenie okna komputerowego, które pokazujemy jawnie.

01Jak włączyć

Profil mobilny tworzy się z opcją:

$ python -m app.cli profile create \ --name mobile-01 --platform android

Silnik wybiera spójną mobilną tożsamość, obejmującą model, chipset, ekran i pamięć. Model urządzenia jest podawany w uaData.model; właśnie stamtąd odczytują go narzędzia kontrolne. Zestaw testów uzyskuje 100 na 100, a iphey zwraca Trustworthy. Fizyczny telefon nie jest potrzebny.

02Dlaczego usunęliśmy listę modeli

Pierwsza wersja przypisywała sprzęt telefonu na podstawie naszej listy modeli. Lista połączyła Pixel 7 z chipsetem Redmi. Jeden błędny chipset wystarczył, aby iphey zwrócił Unreliable: narzędzia znają prawdziwe zestawienia modeli i chipsetów lepiej niż jakikolwiek ręcznie prowadzony katalog.

Całkowicie usunęliśmy ręcznie utrzymywaną listę modeli. To silnik wybiera teraz mobilną tożsamość, a osobny test regresji zapobiega powrotowi starego błędu: NimbusX nie narzuca jej sprzętu. Wniosek wykracza poza profile mobilne. Wewnętrzna spójność jest ważniejsza niż ręczna kontrola każdej wartości.

03Sygnały zmierzone między profilami

Trzy profile mobilne utworzone kolejno na czystym komputerze:

PowierzchniaWynik
Czcionki dostępne tylko w Windowsżadna nie jest widoczna; wszystkie trzynaście testów zaliczono
Karta graficznainna w każdym profilu
Zgłaszany ekraninny w każdym profilu
Canvasinny w każdym profilu
Liczba procesorów logicznychosiem w każdym profilu, jak w telefonach referencyjnych

Czcionki dają najbardziej jednoznaczny test. Gdyby profil podający się za Pixel ujawnił Calibri lub Segoe UI, sprzeczność byłaby natychmiastowa: Android nie zawiera tych czcionek. Sprawdziliśmy trzynaście krojów instalowanych wyłącznie z Windows lub Microsoft Office i profil nie ujawnił żadnego z nich.

04Ograniczenie okna komputerowego

Viewport układu profilu mobilnego jest szerszy niż zgłaszany ekran. Silnik zmienia screen i outerWidth, ale przeglądarka nadal działa w prawdziwym oknie systemu komputerowego. Profil zgłasza 360×800, podczas gdy viewport układu ma 500×731. Sprawdziliśmy następujące podejścia:

PodejścieSzerokość viewportu układu
bez zmian500
okno 412×915500
okno 300×600500
skala renderowania 1,27510
tryb headless478

Ograniczeniem jest minimalna szerokość okna Chrome w systemie komputerowym, około 500 pikseli CSS. Telefony nie używają tak szerokiego viewportu, więc różnicy nie da się usunąć, dopóki przeglądarka działa w oknie komputerowym. Podrobienie innerWidth niezależnie od prawdziwego układu nie zadziała. Pierwsze zapytanie media query ujawni rzeczywistą szerokość i utworzy dwie sprzeczne wartości zamiast jednej.

Co udało się poprawić: po uruchomieniu NimbusX dopasowuje okno do wysokości zgłoszonej przez stronę i CreepJS nie oznacza już sekcji Screen. Pozostała różnica szerokości jest widoczna w panelu: komórka WIN zostaje wygaszona, a wyjaśnienie znajduje się pod tabelą. Ukrywanie jej nie miałoby sensu, bo serwis widzi rozbieżność wcześniej niż użytkownik.

05Przeczytaj więcej

Spójność liczy się bardziej niż liczba · Jak testy odcisku łączą profile

Pobierz NimbusXPytanie techniczne: @Get_NimbusX_Bot