Правда ли, что не существует эмулятора Android (по состоянию на май 2021 года), который мог бы эмулировать телефон Android, чтобы приложение не могло его обнаружить?
Из всех существующих там эмуляторов (я видел список 15 лучших эмуляторов Android ) они не смогли это сделать? Причина в том, что может показаться немного странным, почему невозможно полностью эмулировать такую среду, если телефон за 99 долларов США может справиться с этой задачей. (и что некоторые разработчики могут написать эмулятор с первоначальной целью: ни один код, работающий в эмуляторе, не может сказать, что это эмулятор).
Я думаю, что, вероятно, официальный эмулятор разработчика Android также не может справиться с этой задачей (возможно, намеренно), иначе он будет рекомендован в качестве метода на каком-то форуме.
Вы говорите об устройстве Android, между реальными и эмулируемыми устройствами может быть 100 000 небольших различий. Даже устранение всех тех различий, которые можно «исправить», требует немалой работы.
Просто скорость выполнения — это показатель, который вы не сможете так легко подделать. Для эмуляции устройства ARM стоимостью 99 долларов США вам может понадобиться ПК стоимостью более 1000 долларов США, и тогда скорость выполнения эмулятора ARM все равно будет ниже, чем у физического устройства. Это связано с тем, что эмуляция ЦП ARM на ЦП x86 сложна и требует много ресурсов ЦП.
Даже если вы будете использовать один из новых компьютеров Apple с чипом M1 ARM (или другое устройство, на котором работает быстрый чип на базе ARM, который, следовательно, понимает большинство команд ARM напрямую), все равно будут различия на уровне кода, на котором вы работаете. может обнаружить и поэтому догадаться, что с большой долей вероятности это эмулятор.
Другая проблема заключается в том, что если вы сможете создать эмулятор, который приложение не сможет определить как эмулятор, вы затем продаете его кому-либо в Интернете. Очень скоро те люди, которым вы не хотите, чтобы приложение запускалось на эмуляторе, узнают ваш эмулятор, получат его и разорвут на части, пока не найдут способ обнаружить его.
Поэтому, с моей точки зрения, ответ на ваш вопрос таков: да, с большой вероятностью, эмуляторы существуют, пока ни одно приложение не может определить их как эмуляторы. Однако, чтобы сохранить это, эти эмуляторы никогда не публикуются, и их нельзя купить или получить где-либо.
Например, антивирусные компании, скорее всего, имеют такой эмулятор, потому что вредоносное ПО обычно содержит наиболее изощренный способ определить, работают ли они в эмулируемой среде или на обычном устройстве. Запуск вредоносного ПО в эмулируемой среде обычно означает, что кто-то его анализирует (что, очевидно, не нужно автору вредоносного ПО).
алекс
Стефани Гаусс
алекс