1 votos

¿No hay ningún emulador que pueda emular totalmente un dispositivo Android?

¿Es cierto que no existe ningún emulador de Android (a fecha de mayo de 2021) que pueda emular un teléfono Android para que una aplicación no lo detecte?

De todos los emuladores que hay (vi un Lista de los 15 mejores emuladores de Android ), no fueron capaces de hacerlo? La razón es que parecería un poco extraño que no sea posible emular totalmente un entorno así, si un teléfono de 99 dólares puede hacer el trabajo. (y que algunos desarrolladores pueden escribir el emulador con el objetivo original de: ningún código que se ejecute en el emulador puede decir que es un emulador).

Creo que probablemente el emulador oficial de Android para desarrolladores tampoco puede hacer el trabajo (tal vez intencionalmente) o de lo contrario sería recomendado como el método en algún foro.

0 votos

Lo que describes es un emulador de pokemon, no un emulador de Android

0 votos

No... emulador de Android... y luego ejecutar Pokemon Go la aplicación dentro de ella. Si tenemos una VM de Windows 10 y ejecutamos Microsoft Word en ella, no se dirá que estamos emulando Microsoft Word sino que estamos emulando la máquina de Windows 10, no es así

0 votos

El smartphone tiene ~6 sensores y gps lo que se quiere es emular valores para todos estos sensores de forma que no se viole ninguna comprobación de plausibilidad. estas comprobaciones son desarrolladas por pokemon, me suena bastante a emulador de pokemon

3voto

pr0nin Puntos 353

Estás hablando de un dispositivo Android, puede haber 100.000 pequeñas diferencias entre un dispositivo real y uno emulado. Incluso eliminar todas esas diferencias que se pueden "arreglar" requiere bastante trabajo.

Sólo la velocidad de ejecución es un indicador de que no se puede forjar tan fácilmente. Para emular un dispositivo ARM que cuesta 99 dólares puedes necesitar un PC que cueste más de 1000 dólares y entonces la velocidad de ejecución de un emulador ARM seguirá siendo inferior a la del dispositivo físico. Esto se debe a que emular una CPU ARM en una CPU x86 es difícil y requiere muchos recursos de CPU.

Incluso si se utiliza uno de los nuevos ordenadores de Apple con chip ARM M1 (o un dispositivo que ejecuta un chip rápido basado en ARM que por lo tanto entiende la mayoría de los comandos ARM directamente) todavía habrá diferencias en el nivel de código que se puede detectar y por lo tanto adivinar que con una alta probabilidad es un emulador.

Otro problema es que suponiendo que seas capaz de crear un emulador que una aplicación no pueda detectar como emulador luego lo vendes a cualquiera en internet. Muy pronto esa gente que no quiere que una app se ejecute en un emulador reconocerá tu emulador, lo cogerá y lo destrozará hasta encontrar la forma de seguir detectándolo.

Por lo tanto, desde mi punto de vista, la respuesta a su pregunta es: sí, con una alta probabilidad, hay emuladores en el momento en que ninguna aplicación puede detectar como emulador. Sin embargo para mantenerlo así esos emuladores nunca se publican y no se pueden comprar o recuperar en ningún sitio.

Por ejemplo, las empresas de antivirus probablemente tengan un emulador de este tipo, porque el malware suele tener la forma más sofisticada de detectar si se ejecuta en un entorno emulado o en un dispositivo normal. Que un malware se ejecute en un entorno emulado suele significar que hay alguien que lo está analizando (algo que, obviamente, el autor del malware no quiere).

0 votos

Si es la velocidad, entonces sería como si el móvil tuviera 3 años, pero no debería impedir al emulador jugar a Pokemon Go, por ejemplo... así que la velocidad debería estar bien. El objetivo del emulador debería ser: la app no puede saber realmente que es el dispositivo real o que está en un entorno virtual... si derriban el emulador y encuentran la manera de hacerlo, entonces no es un entorno "totalmente" emulado todavía. Por ejemplo, podemos escribir un emulador de procesador x86 y el código máquina que se ejecuta en él no debería tener absolutamente ninguna manera de saber que se está ejecutando en un procesador Intel o en un emulador de procesador

0 votos

@StefanieGauss Lo siento pero no entiendes el punto. Los desarrolladores de Pokemon no quieren que uses un emulador y siempre encontrarán la manera de probar si estás en un emulador. Si el emulador es cada vez mejor, mejoran la prueba y como un smartphone contiene bastantes sensores físicos, será muy difícil emular todo. Acepta que los desarrolladores tienen más poder que tú. Un principio básico de los juegos es que hay reglas, reglas que tienes que aceptar para jugar.

0 votos

Sé que los desarrolladores de juegos quieren "superarlo"... pero en el mundo actual del código y los algoritmos, es tan fácil decir, "oh, estoy en la elevación de 2 metros, y el teléfono está inclinado 23 grados" y los próximos 10 segundos, "oh, estoy en la elevación de 1,8 metros, y el teléfono está inclinado 26 grados". Quiero decir, estos son sólo un pedazo de pastel. ¿Cuántas cosas pueden comprobar? 20, 30? ¿Y es difícil falsificar 20 o 30 cosas? En software, podemos ser capaces de falsificar 1 cosa en 10 minutos... hay un conjunto limitado de API y todas pueden ser falsificadas

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X