Kết nối ngược USB của Android: Cách đánh lừa các ứng dụng


18

Tethering USB đảo ngược = Điện thoại di động nhận kết nối mạng từ PC qua USB.

Tôi biết cách thực hiện kết nối ngược USB ngoại trừ một vấn đề: Nhiều ứng dụng Android sẽ kiểm tra kết nối mạng bằng mã bên dưới trước khi thực hiện bất kỳ công việc hữu ích nào:

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

Vấn đề là, khi sử dụng kết nối ngược USB, đoạn mã trên sẽ báo cáo không có kết nối mạng. Tuy nhiên, có một kết nối mạng (chính là kết nối ngược USB) và ping, wget và tất cả các chương trình không thực hiện kiểm tra ngu ngốc này hoạt động tốt.

Vì vậy, câu hỏi là: Làm thế nào tôi có thể hack hệ thống để cho phép kết nối mạng này kiểm tra thành công trở lại (để tôi có thể đánh lừa các ứng dụng này)?

BTW. Tôi sử dụng Cyanogenmod 7. Và bất kỳ giải pháp cụ thể nào cho MOD này cũng được hoan nghênh.


Câu hỏi này giải quyết vấn đề tương tự như android.stackexchange.com/questions/11728/ trên
Flow

Tony Beta Lambda đã đăng một giải pháp hợp lệ, bạn nên cân nhắc việc chấp nhận nó.
Michaël

Câu trả lời:


5

Tôi thấy rằng đây là một câu hỏi khá cũ nhưng trong trường hợp có ai đó googled và đến đây. Có một mô-đun khá mới gọi là FakeWifiConnection dựa trên khung Xposed. Việc cài đặt và sử dụng nên khá đơn giản.


Cái đó thật tuyệt; bạn nên đăng câu trả lời tương tự trong android.stackexchange.com/questions/11728/ Khăn
Michaël

@ Michaël Tôi nghĩ rằng câu hỏi đó đã được đánh dấu trùng lặp
Tony Beta Lambda

9

Tôi muốn nói rằng chỉ có Mod giải pháp cụ thể. Gần như mọi ứng dụng mà tôi biết đều sử dụng API Android này và do đó mã được trích trong các câu hỏi của bạn để kiểm tra kết nối mạng.

Người ta sẽ cần thay đổi nguồn Cyanogen để HĐH (Android + Cyanogen) nhận thức được kết nối mạng kết nối ngược USB và trả lại thông tin đúng cho ứng dụng yêu cầu trạng thái mạng hiện tại. Tôi không tin rằng điều này có thể được thực hiện với một số lớp nhân tạo giữa API và ứng dụng "đánh lừa" ứng dụng vào đây. Thực tế hơn là Cyanogen thực hiện việc xử lý kết nối ngược bằng cách bắt chước một kết nối WiFi đang hoạt động. Bạn nên yêu cầu họ giải quyết chủ đề này. Có thể trong tương lai Android có hỗ trợ chính thức cho việc kết nối ngược. :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.