Có thể che giấu việc giả lập vị trí khỏi ứng dụng không

“Làm sao để giả lập không bị phát hiện” là câu hỏi được hỏi nhiều nhất. Câu trả lời ngắn: về mặt kỹ thuật có thể che giấu dấu hiệu đầu tiên và rõ ràng nhất, nhưng điều đó không mang lại kết quả mong muốn — ứng dụng còn ba cách độc lập khác để biết về việc giả lập, và cái giá của việc can thiệp vào hệ thống là hoàn toàn không tương xứng. Dưới đây là cách phát hiện thực sự hoạt động và vì sao chúng tôi không mô tả cũng không hỗ trợ con đường này.

Ứng dụng biết về việc giả lập bằng cách nào

Có bốn cấp độ, và chúng độc lập với nhau.

Cấp thứ nhất là cờ trên chính tọa độ. Android đánh dấu mỗi điểm từ nguồn thử nghiệm bằng một trường riêng, và ứng dụng đọc nó bằng một dòng mã. Đây là giao diện mở có sẵn của hệ thống, không phải kiểm tra bí mật.

Cấp thứ hai là tính toàn vẹn của thiết bị. Bootloader đã mở khóa và root bị cơ chế chứng thực của nền tảng phát hiện bất kể chuyện gì xảy ra với tọa độ. Ứng dụng không cần biết bạn có giả lập vị trí không: chỉ cần biết hệ thống đã bị can thiệp và từ chối hoạt động hoàn toàn.

Cấp thứ ba là đối chiếu với môi trường xung quanh. Điện thoại thấy các mạng Wi-Fi và trạm phát sóng xung quanh, và tập hợp đó không khớp với tọa độ bạn đã “chuyển” đến. Đối chiếu cái này với cái kia rất dễ với dịch vụ.

Cấp thứ tư là phân tích phía máy chủ. Di chuyển năm trăm kilômét trong một phút, quỹ đạo thẳng tắp, độ chính xác không bao giờ thay đổi dù một mét — tất cả đều lộ ra ở phía dịch vụ mà không cần cờ nào trên thiết bị.

Bốn cấp phát hiện giả lập: cờ của tọa độ, chứng thực thiết bị, đối chiếu với mạng và phân tích phía máy chủ

Con đường root làm được gì và không làm được gì

Các hướng dẫn trên mạng đều mô tả cùng một việc: mở khóa bootloader, lấy root, cài một module can thiệp vào tầng hệ thống và xóa cờ nguồn mô phỏng khỏi tọa độ.

Việc này chỉ đóng đúng cấp thứ nhất trong bốn cấp. Chứng thực thiết bị theo định nghĩa sẽ thất bại sau khi mở khóa bootloader — và thất bại không phải vì giả lập mà vì chính sự can thiệp. Đối chiếu với mạng và phân tích phía máy chủ hoàn toàn không liên quan đến thiết bị: dịch vụ thực hiện chúng, và không module nào trên điện thoại ảnh hưởng được.

Kết quả là một sự đánh đổi: bạn tắt kiểm tra dễ thấy nhất và đồng thời bật một kiểm tra thứ hai thô hơn nhiều — “thiết bị đã bị can thiệp”. Với những ứng dụng là lý do của mọi chuyện (ngân hàng, giao hàng, chấm công doanh nghiệp), kết quả còn tệ hơn trước: trước đây chúng vẫn chạy và chỉ bỏ qua tọa độ giả; giờ chúng hoàn toàn không khởi chạy.

Những gì ngừng hoạt động sau khi can thiệp

Trên hầu hết thiết bị, mở khóa bootloader xóa toàn bộ dữ liệu và làm mất bảo hành — đây là lập trường chính thức của các hãng, không phải điều khoản in nhỏ.

Tiếp theo trong danh sách: ứng dụng ngân hàng và thanh toán không chạm từ chối hoạt động trên thiết bị không vượt qua chứng thực; một số dịch vụ công và dịch vụ doanh nghiệp cũng vậy; bản cập nhật qua mạng không còn cài được hoặc làm hỏng hệ thống khi cài; kiểm tra toàn vẹn không còn bảo vệ bạn — ứng dụng độc hại có quyền root sẽ có cùng khả năng như ứng dụng hữu ích.

Một mục riêng là nguy cơ khiến điện thoại không dùng được. Lỗi khi flash trên thiết bị có phân vùng quan trọng bị khóa phải sửa ở trung tâm bảo hành, và không phải lúc nào cũng miễn phí.

Những gì ngừng hoạt động sau khi mở khóa bootloader và root: ngân hàng, thanh toán, dịch vụ công, bảo hành và cập nhật

Vì sao cách này còn không ổn định

Ngay cả khi bỏ qua mọi điều trên, giải pháp như vậy có tuổi thọ ngắn. Cờ nguồn mô phỏng đã thay đổi theo các phiên bản Android: trước Android 12 ứng dụng đọc một trường, từ Android 12 đọc trường khác, và các cách lách cũ ngừng hoạt động. Chứng thực nền tảng được cập nhật ở phía dịch vụ, không phải trên thiết bị — nên nó hỏng mà bạn không làm gì và vào thời điểm bất kỳ.

Trên thực tế, điều này nghĩa là phải loay hoay liên tục: sau mỗi bản cập nhật của hệ thống, ứng dụng hay chính cơ chế chứng thực, bạn phải kiểm tra cách lách còn hoạt động không và lại cấu hình gì đó. Chúng tôi không coi điều này là chấp nhận được và không khuyên ai làm — chính vì thế Mock Location không che giấu cờ và sẽ không làm vậy.

Kết cục với tài khoản

Các dịch vụ kiểm tra vị trí không làm vậy vì ác ý: với họ, vị trí là bằng chứng cho một sự việc. Người giao hàng đã đánh dấu giao xong, nhân viên đã chấm công tại địa điểm, người dùng đã xác nhận khu vực cho một gói giá. Làm giả bằng chứng như vậy vi phạm quy định của dịch vụ, và thường cả hợp đồng.

Hậu quả có thể đoán trước: bị khóa tài khoản không hoàn tiền và không xem xét lại, với kịch bản công việc — một cuộc nói chuyện với người sử dụng lao động, và trong một số trường hợp là khiếu nại pháp lý. Lập trường của chúng tôi về tính hợp pháp của bản thân việc giả lập có trong câu trả lời riêng: bạn có quyền đổi vị trí của chính mình, nhưng đánh lừa dịch vụ dựa vào vị trí đó là chuyện khác.

Phải làm gì nếu cần giả lập cho nhiệm vụ chính đáng

Tin tốt: phần lớn các kịch bản hoạt động mà không cần che giấu gì, vì ứng dụng ở đó đơn giản là không đọc cờ.

Bản đồ và dẫn đường, thời tiết, tìm kiếm quanh đây, danh sách và giá cả địa phương, kiểm thử kịch bản dựa trên vị trí — tất cả đều nhận tọa độ giả như vốn có. Bạn có thể kiểm tra trong một phút xem ứng dụng mình cần có thuộc nhóm này không: bật giả lập và xem nó hiển thị gì (cách kiểm tra).

Nếu hóa ra ứng dụng đó đọc cờ, cách duy nhất hiệu quả không phải là vượt qua kiểm tra mà là giải quyết nhiệm vụ theo cách khác. Nội dung theo khu vực thường cần mạng chứ không phải GPS: giả lập vị trí hay VPN. Để kiểm thử ứng dụng của chính bạn — trình giả lập và bản dựng gỡ lỗi, nơi giả lập có sẵn và không đánh lừa ai (hướng dẫn cho QA).

Tóm lại

Không thể loại trừ hoàn toàn việc giả lập bị phát hiện: có bốn cấp kiểm tra, và can thiệp vào hệ thống đóng được một cấp nhưng lại bật cờ “thiết bị đã bị can thiệp”, khiến chính những ứng dụng đó từ chối còn sớm hơn.

Mock Location hoạt động hoàn toàn trong khuôn khổ cơ chế có sẵn của Android: cơ chế này là gì, vì sao không cần root và vì sao ứng dụng thấy tọa độ thật được nói riêng. Chúng tôi không đăng hướng dẫn vượt qua kiểm tra — không phải vì thận trọng, mà vì chúng không giải quyết được nhiệm vụ và tạo cho người dùng những vấn đề lớn hơn vấn đề ban đầu.

Mock Location — fake GPS trên Android không cần root

Miễn phí, ngoài Google Play. Bạn có thể kiểm tra mã băm của tệp trước khi cài đặt.

Tải APK