1

Is it true that there is no Android emulator out there (as of May 2021) that can emulate an Android phone so that an app cannot detect it?

Of all the emulators out there (I saw a 15 best Android emulator list), they were not able to do it? The reason is it'd seem a bit strange why it is not possible to emulate such an environment totally, if a US$99 phone can do the job. (and that some developers may write the emulator with the original goal of: no code running in the emulator can tell it is an emulator).

I think probably the official Android developer emulator cannot do the job either (maybe intentionally) or else it would be recommended as the method on some forum.

3
  • what you descripe is some pokemon emulator, not android emulator
    – alecxs
    May 27, 2021 at 12:02
  • no... android emulator... and then run Pokemon Go the app inside of it. If we have a Windows 10 VM and run Microsoft Word on it, you won't say we are emulating Microsoft Word but we are emulating Windows 10 machine, isn't it so May 31, 2021 at 10:18
  • smartphone has ~6 sensors and gps what you want is to emulate values for all of these sensors in a way that no plausibility check is violated. these checks are developed by pokemon, sounds pretty much like pokemon emulator to me
    – alecxs
    May 31, 2021 at 10:56

1 Answer 1

3

You are talking about an Android device, there may be 100.000 small differences between real and emulated devices. Even eliminating all those differences that can be "fixed" requires quite some work.

Just the execution speed is an indicator you can't forge that easily. To emulate an ARM device that costs US$99, you may need a PC that costs more than US$1000, and then the execution speed of an ARM emulator will still be lower than the physical device. This is because emulating an ARM CPU on an x86 CPU is difficult and requires a lot of CPU resources.

Even if you would use one of the new Apple computers with an M1 ARM chip (or another device that runs a fast ARM-based chip which therefore understands most of the ARM commands directly), there will still be differences on the code-level you can detect and therefore guess that with a high probability it is an emulator.

Another problem is that assuming you would be able to create an emulator that an app can't detect as an emulator, you then sell it to anyone on the internet. Very soon those people you don't want an app to run on an emulator will recognize your emulator, get it and tear it apart until they have found a way to still detect it.

Therefore from my perspective, the answer to your question is: yes, with a high probability, there are emulators at the moment no app can detect as emulators. However, to keep it that way, those emulators are never published and cannot be bought or retrieved anywhere.

For example, Anti Virus companies most likely have such an emulator because malware usually contains the most sophisticated way to detect if they are running in an emulated environment or a regular device. Running in an emulated environment for malware usually means there is someone analyzing it (which obviously the malware author doesn't want to).

3
  • if it is the speed, then it'd be as if the mobile phone is 3 years old, but it shouldn't prevent the emulator from playing Pokemon Go, for example... so speed should be ok. The goal of the emulator should be: the app cannot really know it is the real device or in a virtual environment... if they tear down the emulator and find a way to do it, then it is not a "totally" emulated environment yet. For example, we can write an x86 processor emulator and the machine code running on it should have absolutely no way to tell itself running in an Intel processor or in a processor emulator May 22, 2021 at 19:29
  • @StefanieGauss Sorry but you don't get the point. The developers of Pokemon don't want you to use an emulator and they will always find a way to test if you are on an emulator. If the emulator is getting better they enhance the test and as a smartphone contains quite a few physical sensors it will get really really hard to emulate everything. Just accept that the developers have more power than you. One basic principle of games is that there are rules, rules you have to accept to play.
    – Robert
    May 22, 2021 at 20:09
  • I know the game developers want to "beat it"... but in today's world of code and algorithms, it is so easy to say, "oh I am at elevation of 2 meter, and the phone is tilted 23 degree" and next 10 seconds, "oh I am at elevation of 1.8 meter, and the phone is tilted 26 degree". I mean, these are just piece of cake. How many things can they check? 20, 30? And is it tough to fake 20 things or 30 things? In software, we may be able to fake 1 thing in 10 minutes... there is a limited set of API and they all can be faked May 31, 2021 at 10:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .