אפליקציה אחרת מציגה את המיקום האמיתי שלי — למה?

Android מסמן כל קואורדינטה מספק בדיקה בסימון „ממקור מדומה”. אפליקציות רשאיות לבדוק אותו ולסרב לעבוד עם נתונים כאלה — Mock Location לא מנסה לעקוף את הבדיקה הזו.

Android מסמן כל קואורדינטה שמגיעה מספק בדיקה בסימון „ממקור מדומה”. הסימון לא מוסתר: כל אפליקציה רשאית לקרוא אותו ולהחליט מה לעשות עם נתונים כאלה.

חלק מהשירותים עושים בדיוק את זה — וזו לא תקלה, אלא בחירה מכוונת שלהם. אפליקציות בנקים, מערכות לאישור משלוחים, דיווח שעות בארגונים, תוכניות פרסים לפי מיקום ומשחקים עם מערכות נגד רמאות מסרבים לעבוד עם קואורדינטות מדומות. עבורם המיקום הוא לא נוחות, אלא הוכחה לעובדה, ומטבע המשימה שלהם הם לא יכולים לקבל נתונים לא אמינים.

אי אפשר לעקוף את הבדיקה הזו בלי לשנות את הקושחה, ו-Mock Location בכוונה לא עושה את זה. את הסימון אפשר להסתיר רק במודולים ברמת Magisk במכשיר עם מנהל אתחול פתוח — עם אחריות שבוטלה, בדיקות שלמות מערכת שבורות וסיכון להשאיר את הטלפון לא שמיש. אנחנו לא תומכים בדרך הזו ולא מתארים אותה; למה, ולמה היא בכל זאת לא פותרת את המשימה — במאמר האם אפשר להסתיר זיוף מיקום.

אבל לפני שמניחים שהסימון הוא הסיבה, כדאי לשלול שלוש סיבות פשוטות יותר.

הראשונה — מטמון. האפליקציה אולי זכרה את הנקודה האחרונה הידועה וממשיכה להציג אותה בלי לבקש חדשה. סוגרים אותה לגמרי (סוגרים, לא ממזערים) ופותחים שוב כשהזיוף כבר פעיל.

השנייה — מיקום לפי IP. חלק מהשירותים לומדים על המיקום לא מהמערכת, אלא מכתובת הרשת; לזיוף הקואורדינטות אין שום השפעה על הערוץ הזה, ושם יעזור VPN, ולא שינוי קואורדינטות. ההבדל בין שני המנגנונים מוסבר במאמר זיוף מיקום או VPN.

השלישית — האפליקציה מבקשת את המיקום פעם אחת בהפעלה ולא מגיבה לשינויים אחר כך. במקרה כזה עושים את זה בסדר ההפוך מהרגיל: קודם מפעילים את הזיוף, ואחר כך פותחים את האפליקציה.

אם אף אחת משלוש הסיבות לא מתאימה והאפליקציה ממשיכה להציג את הנקודה האמיתית בזמן שהזיוף פעיל, היא כמעט בוודאות קוראת את סימון המקור המדומה, ואין מה לעשות בעניין.

נשארו שאלות? לכתוב לתמיכה.