My app grants privileges depending on the user's location. If a device does not report a location back to the server, its privileges at the server are none.
I want to make it as hack-safe as possible, so that privileges are strictly restricted by the device's current location.
Good progress can be made if I can identify the user/device accurately. Then I can block device X if it reports being in New York now, and in Los Angeles 10 minutes later (physically impossible).
There's no sign up. Users only need to solve a captcha to start using the app. That's it!
Is there a way to prevent someone from using the Android emulator to impersonate 20 different devices, each in a different city, and all sending spurious data to the server as if they were real uses? If not, is there a way to make it really hard for hackers to do so?