Это теоретическая ситуация:
- Я пишу приложение для обнаружения присутствия другого на телефоне
- Путь к классу, имя, имена действий и т. Д. Целевого приложения были рандомизированы, я не могу просто проверить, есть ли оно (оно семантически такое же, но синтаксически уникально ) * +1010 *
- У меня есть root-доступ к телефону
- Приложение с открытым исходным кодом, и (кроме имени пакета и имени приложения) я знаю о нем все.
- Приложение не генерирует вывод журнала.
Я думал о том, как определить, присутствует ли на телефоне другое приложение (при условии, что оно время от времени запускается), возможны ли вообще следующие методы?
- Периодически проверять наличие определенных классов в памяти
- Поиск известных фрагментов скомпилированного кода в каждом установленном apk
- Обнаружение запущенного приложения путем проверки памяти устройства через определенные промежутки времени и поиск шаблонов использования, соответствующих приложению
Существуют ли другие способы обнаружения другого приложения в этих условиях?