Partage de connexion inversé USB Android: comment tromper les applications


18

Partage de connexion inversé USB = le téléphone portable obtient la connexion réseau du PC via USB.

Je sais comment utiliser le partage de connexion inversé USB, sauf pour un problème: de nombreuses applications Android vérifieront la connexion réseau en utilisant le code ci-dessous avant de faire tout travail utile:

ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();

Le problème est que, lors de l'utilisation du partage de connexion inversé USB, le code ci-dessus ne signalera aucune connexion réseau. Cependant, il existe une connexion réseau (qui est le partage de connexion inversé USB lui-même), et ping, wget et tous les programmes ne faisant pas cette vérification stupide fonctionnent bien.

La question est donc: comment puis-je pirater le système pour laisser cette vérification de connexion réseau retourner le succès (afin que je puisse tromper ces applications)?

BTW. J'utilise CyanogenMod 7. Et toute solution spécifique à ce MOD est également la bienvenue.


Cette question porte sur le même problème que android.stackexchange.com/questions/11728/…
Débit

Tony Beta Lambda a publié une solution valide - vous devriez envisager de l'accepter.
Michaël

Réponses:



9

Je dirais qu'il n'y a que des solutions spécifiques au Mod. Presque toutes les applications que je connais utilisent cette API Android, et donc le code a été coupé dans vos questions, pour les vérifications de la connectivité réseau.

Il faudrait modifier la source Cyanogen pour que le système d'exploitation (Android + Cyanogen) soit au courant de la connectivité réseau du partage de connexion inversé USB et renvoie les bonnes informations à l'application demandant l'état actuel du réseau. Je ne crois pas que cela puisse être fait avec une couche artificielle entre l'API et l'application qui "trompe" l'application en cela. Il est plus réaliste que Cyanogen implémente la gestion du partage de connexion inversé en imitant une connexion WiFi active. Vous devriez leur demander d'aborder ce sujet. Peut-être qu'à l'avenir Android aura un support officiel pour le partage de connexion inversé. :)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.