fake GPS در اندروید بدون روت
هنوز این باور هست که جعل موقعیت بدون روت ممکن نیست. این باور کهنه است: سازوکار مکان ساختگی در خود اندروید هست و برای هر برنامهای که کاربر در گزینههای توسعهدهندگان انتخاب کرده باشد در دسترس است. ببینیم این راه چه میدهد، چه نمیدهد و چرا گزینه دیگر، یعنی دستکاری سیستمعامل، گرانتر از آن است که به نظر میرسد.
مطمئن شوید واقعاً به روت نیاز ندارید
سازوکار داخلی کافی است اگر کار شما دادن مختصات به برنامههایی است که مکان را به روش معمول از سیستم میگیرند: نقشه، آبوهوا، جستجوی اطراف، برنامههای خودتان در حال توسعه و آزمایش. این یعنی بیشتر سناریوها.

حالت برنامهنویس را روشن کنید
تنظیمات ← «درباره تلفن» ← هفت ضربه روی «شمارهٔ ساخت». بخش «گزینههای توسعهدهندگان» در تنظیمات ظاهر میشود؛ بسته به رابط، در سطح اول، در «سیستم» یا در «تنظیمات بیشتر» است.

برنامه مکان ساختگی را انتخاب کنید
در گزینههای توسعهدهندگان مورد «انتخاب برنامه مکان ساختگی» را پیدا کنید و برنامه نصبشده را انتخاب کنید. هر بار فقط یکی میتواند فعال باشد؛ سیستم اجازه نمیدهد چند برنامه همزمان مختصات بدهند.

جعل موقعیت را شروع و بررسی کنید
نقطهای روی نقشه انتخاب کنید، جعل موقعیت را روشن کنید و برنامه نقشه دیگری را باز کنید. اگر نقطه انتخابشده را نشان داد، سازوکار در سطح سیستم کار میکند و هیچ دسترسی اضافهای لازم نبوده است.

در واقع چگونه کار میکند
اندروید به برنامه انتخابشده اجازه میدهد به اصطلاح ارائهدهندههای آزمایشی مکان را ثبت کند و مختصات را در آنها بنویسد. سپس سیستم این مختصات را به هر کسی که مکان را به روش معمول بخواهد میدهد. آزمونهای خودکار برنامههای موبایل هم از همین سازوکار استفاده میکنند؛ این سازوکار در اصل برای توسعه ساخته شده، نه برای دور زدن چیزی.
برای همین جعل موقعیت به دسترسی ابرکاربر نیاز ندارد: برنامه در فرایندهای دیگر دخالت نمیکند و کتابخانههای سیستمی را بازنویسی نمیکند، بلکه از امکانی رسمی استفاده میکند که کاربر آگاهانه روشن کرده است.
روت چه میدهد و چرا رایگان نیست
تنها چیزی که دستکاری سیستمعامل اساساً اضافه میکند، امکان پنهان کردن خود جعل است: برداشتن نشان «منبع ساختگی» و فریب دادن برنامههایی که آن را بررسی میکنند. این کار بوتلودر باز، Magisk یا ماژولهای مشابه میخواهد.
بهایش: ضمانت را از دست میدهید، برخی برنامههای بانکی و خدمات به دلیل بررسی یکپارچگی سیستم اجرا نمیشوند، بهروزرسانیهای سیستمعامل دیگر عادی نصب نمیشوند و یک فلش ناموفق ممکن است تلفن را از کار بیندازد. ما این راه را پشتیبانی نمیکنیم و شرح نمیدهیم؛ Mock Location فقط در چارچوب سازوکار داخلی کار میکند.
حد کجاست
بدون روت، جعل موقعیت برای برنامههایی که بخواهند آن را ببینند صادقانه پیداست. خدماتی که مکان برایشان اثبات یک واقعیت است، مثل تأیید تحویل، ثبت ساعت کار و پاداشهای وابسته به مکان، معمولاً این بررسی را انجام میدهند و با مختصات جعلی کار نمیکنند. بازیهای دارای ضدتقلب هم همینطور.
این نقص یک برنامه خاص نیست، بلکه انتخاب آگاهانه معماری است: برنامه همان کاری را میکند که سیستم اجازه میدهد و وانمود نمیکند بیشتر از آن کاری میکند.
جعل موقعیت با VPN چه فرقی دارد
این دو اغلب با هم اشتباه گرفته میشوند. VPN تغییر میدهد ترافیک شبکه شما از کجا بیاید؛ سرویس از روی نشانی IP فکر میکند در کشور دیگری هستید. جعل موقعیت مختصاتی را تغییر میدهد که سیستمعامل به برنامهها میدهد.
اینها کانالهای متفاوتیاند و جای یکدیگر را نمیگیرند: برنامهای که مکان را از روی IP تعیین میکند متوجه مختصات جعلی نمیشود و برنامهای که مختصات را از سیستم میخواهد متوجه VPN نمیشود. گاهی هر دو لازماند.