CashoutGuard

Émulateurs et fermes de téléphones sur les applis de récompenses : les repérer sans bloquer les vrais utilisateurs

Un seul ordinateur qui fait tourner dix émulateurs Android peut ressembler à dix téléphones dans dix foyers. Les fermes de téléphones vont plus loin, avec des rangées entières de vrais appareils. Ce guide explique le fonctionnement des deux, les indices matériels qu'ils ne peuvent pas cacher et une façon équitable d'agir.

Réponse courte

Pour repérer émulateurs et fermes de téléphones, confrontez ce que rapporte le matériel à ce que l'appareil prétend être : un modèle de téléphone associé à un GPU avec lequel il n'est jamais livré, des profils d'émulateur par défaut, des GPU logiciels et des appareils réinitialisés qui réapparaissent. Bloquez les profils d'émulateur évidents au clic sur l'offre, envoyez en examen une incohérence isolée et agissez sur le groupe de comptes liés.

Signe le plus clair
Un couple modèle-GPU impossible, comme un Pixel 8 qui annonce un GPU Adreno.
Ce qui trahit un émulateur
Modèles d'émulateur par défaut, builds Android très anciens avec un Chrome récent, GPU logiciels, écran de la taille d'un ordinateur sur un modèle de téléphone.
Fermes de téléphones
Elles réutilisent le matériel, effacent le stockage, achètent des modèles bon marché réservés à la Chine et complètent les mêmes offres dans le même ordre.
À éviter
Bannir des marques entières ou bloquer sur une seule incohérence de modèle.

Pourquoi émulateurs et fermes ciblent les applis de récompenses

Les offres mobiles paient bien. Installer un jeu, atteindre le niveau 20, gagner quelques dollars. Les annonceurs paient autant parce qu'ils attendent un vrai joueur sur un vrai téléphone. Une ferme simule le joueur et empoche le paiement.

Il existe deux grands types de dispositifs. Le premier est l'émulateur : un logiciel comme LDPlayer, Nox, MEmu, BlueStacks ou Genymotion, qui fait tourner Android sur un PC. Un ordinateur puissant peut en faire tourner plusieurs à la fois. Le second est la ferme de téléphones : des étagères de vrais téléphones bon marché, souvent réinitialisés entre deux comptes, parfois pilotés par des scripts.

Les deux visent le même résultat : de nombreux comptes, chacun ressemblant à une personne différente sur un appareil différent, chacun complétant les mêmes offres bien payées. Le réseau annule les conversions des semaines plus tard, souvent après que vous avez déjà payé.

Ce que l'appareil prétend être et ce qu'il rapporte vraiment

Chaque navigateur ou WebView vous dit ce qu'il est. Le user agent et les client hints donnent un nom de modèle comme Pixel 8 ou SM-S918U. Cette déclaration se modifie facilement : les outils des fermes font tourner les noms de modèle d'un simple clic.

Le matériel est plus difficile à falsifier. Via WebGL, l'appareil indique sa puce graphique (GPU). Les vrais téléphones sont livrés avec un GPU connu. Un Pixel 8 utilise un GPU Mali. Un Samsung Galaxy S américain utilise une puce Snapdragon avec un GPU Adreno. Quand le modèle annoncé et le GPU rapporté ne correspondent pas, l'appareil ment sur ce qu'il est.

Modèle annoncéGPU rapportéVerdict
Pixel 8Mali-G715Cohérent : un vrai Pixel 8 est livré avec cette famille
Pixel 8Adreno 740Falsifié : le Pixel 8 n'est jamais livré avec un Adreno
Pixel 5Mali-G76Falsifié : le Pixel 5 est livré avec un Adreno
SM-S918U (Galaxy américain)Mali-G710Falsifié : les modèles américains utilisent Snapdragon et Adreno
iPhoneAdreno ou MaliFalsifié : les iPhone rapportent un GPU Apple
Téléphone AndroidGPU AppleFalsifié : souvent un iPhone ou un Mac qui se fait passer pour un autre appareil

Les profils d'émulateur par défaut

Un émulateur doit bien annoncer un modèle de téléphone. La plupart des utilisateurs gardent celui proposé par défaut, et ces valeurs par défaut sont bien connues. Plusieurs émulateurs populaires se présentent comme des modèles Samsung du marché coréen (le suffixe N, comme SM-G977N) ou comme d'anciens modèles Asus et vivo. Les images de développement annoncent des noms comme sdk_gphone ou vbox86.

Autre indice : le build Android. Les émulateurs tournent souvent sous d'anciennes versions d'Android, comme 5.1 ou 7.1, avec un numéro de build qu'on ne trouve que sur l'image de l'émulateur. Ajoutez-y une version récente de Chrome et vous obtenez une combinaison que les vrais téléphones ne présentent presque jamais.

  • Modèle Samsung coréen sur une IP américaine ou européenne. Possible pour un voyageur, courant pour un émulateur.
  • Build Android très ancien avec un Chrome récent. Les vrais téléphones aussi anciens reçoivent rarement les nouvelles versions de Chrome.
  • GPU logiciel comme SwiftShader ou llvmpipe. Un téléphone sans vraie puce graphique est une machine virtuelle.
  • Écran de la taille d'un ordinateur sur un modèle de téléphone, ou téléphone qui déclare une souris mais pas d'écran tactile.

Des modèles réservés à la Chine utilisés à l'étranger

Certains téléphones ne sont vendus qu'en Chine continentale. C'est le cas, par exemple, des modèles OPPO et OnePlus avec des codes comme PJx, des modèles Xiaomi se terminant par C, des modèles vivo se terminant par A et des modèles Huawei ou Honor se terminant par -AN00 ou -AL00. Ces modèles s'achètent à bas prix en gros et sont courants dans les fermes de téléphones.

Un modèle réservé à la Chine qui se connecte depuis les États-Unis n'est pas une preuve de fraude. Les gens voyagent et importent des téléphones. Mais quand de nombreux comptes de votre site annoncent des modèles réservés à la Chine depuis des IP américaines, britanniques ou canadiennes, c'est un signe fort que le trafic vient d'une ferme et que les IP viennent d'un proxy.

Réinitialisations et effacement du stockage

Les fermes savent que les sites enregistrent un identifiant d'appareil. Elles effacent donc les données de l'appli, vident le navigateur ou réinitialisent le téléphone avant chaque nouveau compte. Un nouvel identifiant apparaît, et le site croit avoir affaire à un nouvel appareil.

La réinitialisation supprime l'identifiant stocké, pas le matériel. Le même GPU, la même taille d'écran, le même build Android et les mêmes polices installées reviennent à chaque fois. Un appareil dont le stockage est vide, mais dont les caractéristiques matérielles correspondent à celles d'un appareil vu une heure plus tôt, a presque certainement été réinitialisé.

  • Stockage vide, matériel familier. Signalez-le et reliez-le à l'appareil précédent.
  • Beaucoup de comptes par profil matériel en peu de temps, chacun avec un identifiant tout neuf.
  • Ordre des offres identique d'un compte à l'autre, signe d'un seul script ou d'un seul opérateur.

Agir sans bloquer les vrais utilisateurs

Les signaux d'appareil sont puissants, mais pas infaillibles. Les empreintes de navigateur peuvent être falsifiées, et les téléphones bon marché rapportent parfois des valeurs étranges. Une politique équitable se sert de ces signaux pour ralentir l'argent, pas pour sanctionner sur un seul indice.

  1. Au clic sur l'offre, ne bloquez que les profils d'émulateur évidents et les GPU logiciels. Les vrais joueurs sur de vrais téléphones ne sont pas concernés.
  2. Examinez sans bloquer en cas d'incohérence de modèle isolée. Placez le retrait dans une file d'examen avec les preuves.
  3. Agissez sur le groupe. Si dix comptes partagent un même profil falsifié, statuez sur les dix en même temps.
  4. Tenez une liste blanche. Les testeurs, votre équipe et les bons utilisateurs connus sur du matériel inhabituel ne devraient pas être signalés chaque semaine.
  5. Mesurez d'abord. Faites tourner les contrôles sans bloquer pendant quelques jours et regardez combien de retraits ils toucheraient.

Comment CashoutGuard automatise tout cela

Le collecteur JavaScript de CashoutGuard lit le modèle, le GPU, l'écran et le build. Votre serveur appelle /v1/evaluate à l'inscription, au clic sur l'offre, à la conversion et au retrait, et reçoit un score de 0 à 100 accompagné des raisons.

  • device_spoofed quand le modèle annoncé et le GPU ne peuvent pas appartenir au même téléphone.
  • emulator_profile pour les modèles d'émulateur par défaut et les builds Android propres aux émulateurs.
  • emulator_or_vm et automation_detected pour les machines virtuelles et les navigateurs pilotés par script.
  • device_market_mismatch pour les modèles réservés à la Chine utilisés hors de Chine.
  • storage_cleared_reappeared et device_shared_with_accounts pour les appareils réinitialisés et le matériel partagé.

La vue Réseaux de fraude relie les comptes par appareil, adresse de paiement, e-mail et IP : une ferme y apparaît comme un seul groupe. Les nouveaux sites démarrent en mode shadow, ce qui vous permet de voir les résultats avant que quoi que ce soit ne soit bloqué. Consultez la documentation ou comparez les offres sur la page tarifs.

Applis Android natives : des contrôles hors de portée d'un navigateur

Une appli de récompenses conçue pour Android voit plus de choses qu'une page web. Le SDK Android de CashoutGuard s'exécute dans votre appli et vérifie le téléphone lui-même : propriétés et fichiers d'émulateur, système rooté, frameworks de hooking comme Frida et Xposed qui falsifient ce que lit l'appli, débogueur, applis de fausse localisation et VPN actif sur l'appareil, même quand l'IP semble résidentielle.

Il attribue aussi à chaque téléphone un identifiant qui survit à la désinstallation et à la réinstallation de l'appli, dérivé de l'Android ID et salé avec votre clé, ce qui le rend inutile pour qui que ce soit d'autre. Un fraudeur qui réinitialise l'appli pour créer un nouveau compte réapparaît comme le même appareil, et le nouveau compte est relié aux anciens.

ContrôleCode de raisonPourquoi c'est important sur une appli de récompenses
Propriétés, fichiers et matériel d'émulateuremulator_or_vmLes fermes d'émulateurs enchaînent jour et nuit les installations payantes et les offres playtime
Téléphone rootédevice_rootedLe root permet à une appli de falsifier son identifiant d'appareil et sa position ; signal faible seul, fort avec d'autres indices
Frida, Xposed ou Substrate dans l'appliautomation_detectedLes hooks réécrivent ce que voit votre appli, y compris tous les autres contrôles
VPN actif sur le téléphoneip_vpnDébloque les offres des pays plus riches, même quand l'IP de sortie semble résidentielle
Même téléphone après une réinstallationdevice_shared_with_accountsUne seule personne, beaucoup de comptes, un paiement à la fois

L'intégration tient en un appel avant chaque paiement : l'appli récupère un request_id à l'inscription, au clic sur l'offre et au retrait, et votre serveur interroge /v1/evaluate. Consultez la page intégrations pour le code Kotlin.

Questions fréquentes

Puis-je tout simplement bloquer tous les émulateurs Android ?

Oui pour les offres et les retraits, à condition que la détection repose sur des profils d'émulateur évidents ou des GPU logiciels. Rares sont les vrais utilisateurs de sites de récompenses qui complètent des offres rémunérées dans un émulateur.

Et si un vrai utilisateur a un téléphone qui semble falsifié ?

C'est pour cela qu'une incohérence isolée doit envoyer le retrait en examen plutôt que de le bloquer. Vérifiez le reste du compte : autres appareils, adresse de paiement, vitesse de complétion des offres et historique.

Les fermes de vrais téléphones sont-elles détectables ?

Plus difficilement que les émulateurs, mais oui. Les fermes réutilisent le matériel, effacent le stockage, achètent des modèles bon marché réservés à la Chine et complètent les mêmes offres dans le même ordre. Relier les comptes par appareil et par adresse de paiement permet de reconstituer la ferme.

Un modèle réservé à la Chine utilisé hors de Chine est-il signe de fraude ?

Non. Cela signifie que le téléphone a été importé ou que l'utilisateur voyage. Le signal devient parlant quand il apparaît en même temps que des proxies, des appareils partagés ou de nombreux comptes similaires.

À lire aussi