В Android, я понимаю, что приложение объявляет список разрешений, необходимых ему в файле манифеста и во время выполнения, он запрашивает, возможно, контрольный монитор, который затем решает, имеет ли это приложение это разрешение.
Возможно ли (без использования корня или изменения исходного кода Android) написать стороннее приложение, которое может просто перехватывать эти запросы (запросы, которые приложение запрашивает на контрольном мониторе, чтобы проверить, имеет ли он разрешение или не)? Если да, может кто-нибудь дать мне несколько указателей на то, как это сделать?
Разрешения для приложений Android управляются ядром Linux. Следуйте за кодом вилка zygote, чтобы узнать, где это происходит.
Нет вызова "у меня есть разрешение". Приложение пытается использовать ресурс (открыть сокет, создать файл на SD-карте), и ядро либо разрешает его, либо нет.