Зворотне тетерування Android через Android: як обдурити програми


18

Зворотне прив'язування USB = Мобільний телефон отримує мережеве з'єднання з ПК через USB.

Я знаю, як зробити зворотне прив’язання через USB, за винятком однієї проблеми: Багато програм Android перевірять мережеве з'єднання за допомогою наведеного нижче коду, перш ніж виконувати будь-яку корисну роботу:

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

Проблема полягає в тому, що при використанні USB-зворотного прив’язки вищевказаний код не повідомляє про мережеве з'єднання. Однак є мережне підключення (яке саме USB-зворотне прив’язання), і ping, wget і всі програми, які не виконують цю дурну перевірку, працюють добре.

Отже, питання полягає в тому, як я можу зламати систему, щоб це мережне підключення перевірило повернення успіху (щоб я могла обдурити ці програми)?

До речі. Я використовую Cyanogenmod 7. І будь-яке рішення, характерне для цього MOD, також вітається.


Це питання стосується тієї ж проблеми, що і android.stackexchange.com/questions/11728/…
Потік

Тоні Бета-лямбда опублікував дійсне рішення - слід подумати про його прийняття.
Michaël

Відповіді:


5

Я бачу, що це досить старе питання, але на випадок, коли хтось погукає і потрапить сюди. Існує досить новий модуль під назвою FakeWifiConnection на основі рамки Xposed. Установка та використання мають бути досить простими.


Це чудово; ви повинні опублікувати таку ж відповідь в android.stackexchange.com/questions/11728/…
Michaël

@ Michaël Я думаю, що це питання було позначене як дублікат
Тоні Бета Ламбда,

9

Я б сказав, що існують лише конкретні модні рішення. Майже кожен додаток, який я знаю, використовує цей Android API, і тому код, який проникла у ваших питаннях, для перевірки підключення до мережі.

Потрібно змінити джерело Cyanogen, щоб ОС (Android + Cyanogen) знала про підключення USB до зворотного зв’язку і повертала потрібну інформацію додатку, що запитує поточний стан мережі. Я не вірю, що це можна зробити за допомогою штучного шару між API та програмою, яка "обдурює" додаток у цьому. Більш реалістично, що Cyanogen реалізує обробку зворотного прив’язки, наслідуючи активне з'єднання Wi-Fi. Ви повинні попросити їх вирішити цю тему. Можливо, в майбутньому Android має офіційну підтримку зворотного прив’язки. :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.